forked from free-lancers/electricity_bill_calc_service
		
	enhance(model):调整物业附加费、公示报表部分的数据结构模型,以及数据库迁移脚本。
This commit is contained in:
		
										
											Binary file not shown.
										
									
								
							| @@ -190,6 +190,7 @@ func batchImport04kVMeterArchive(c *gin.Context) { | |||||||
| 	mergedMeters := lo.Map(records, func(meter model.Meter04KV, index int) model.Meter04KV { | 	mergedMeters := lo.Map(records, func(meter model.Meter04KV, index int) model.Meter04KV { | ||||||
| 		meter.ParkId = requestParkId | 		meter.ParkId = requestParkId | ||||||
| 		meter.Enabled = true | 		meter.Enabled = true | ||||||
|  | 		meter.WillDilute = false | ||||||
| 		return meter | 		return meter | ||||||
| 	}) | 	}) | ||||||
| 	errs = service.Meter04kVService.DuplicateMeterCodeValidate(mergedMeters) | 	errs = service.Meter04kVService.DuplicateMeterCodeValidate(mergedMeters) | ||||||
|   | |||||||
| @@ -14,7 +14,6 @@ var meter04kVExcelRecognizers = []*ColumnRecognizer{ | |||||||
| 	{Pattern: []string{"倍率"}, Tag: "ratio", MatchIndex: -1, MustFill: true}, | 	{Pattern: []string{"倍率"}, Tag: "ratio", MatchIndex: -1, MustFill: true}, | ||||||
| 	{Pattern: []string{"序号"}, Tag: "seq", MatchIndex: -1, MustFill: true}, | 	{Pattern: []string{"序号"}, Tag: "seq", MatchIndex: -1, MustFill: true}, | ||||||
| 	{Pattern: []string{"公用设备"}, Tag: "public", MatchIndex: -1, MustFill: true}, | 	{Pattern: []string{"公用设备"}, Tag: "public", MatchIndex: -1, MustFill: true}, | ||||||
| 	{Pattern: []string{"摊薄"}, Tag: "dilute", MatchIndex: -1, MustFill: true}, |  | ||||||
| } | } | ||||||
|  |  | ||||||
| func NewMeterArchiveExcelAnalyzer(file io.Reader) (*ExcelAnalyzer[model.Meter04KV], error) { | func NewMeterArchiveExcelAnalyzer(file io.Reader) (*ExcelAnalyzer[model.Meter04KV], error) { | ||||||
|   | |||||||
							
								
								
									
										15
									
								
								migration/20220921143001_maintenance.down.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								migration/20220921143001_maintenance.down.sql
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | |||||||
|  | alter table meter_04kv | ||||||
|  |     add column dilute boolean not null default false; | ||||||
|  |  | ||||||
|  | alter table end_user_detail | ||||||
|  |     add column dilute boolean not null default false, | ||||||
|  |     add column maintenance_fee_diluted numeric(18,8), | ||||||
|  |     add column public_consumption_diluted numeric(18,8); | ||||||
|  |  | ||||||
|  | alter table maintenance_fee | ||||||
|  |     drop column period; | ||||||
|  |  | ||||||
|  | alter table report_summary | ||||||
|  |     drop column authorize_loss, | ||||||
|  |     drop column authorize_loss_fee, | ||||||
|  |     drop column authorize_loss_proportion; | ||||||
							
								
								
									
										37
									
								
								migration/20220921143001_maintenance.up.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								migration/20220921143001_maintenance.up.sql
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,37 @@ | |||||||
|  | alter table meter_04kv | ||||||
|  |     drop column dilute; | ||||||
|  |  | ||||||
|  | alter table end_user_detail | ||||||
|  |     drop column dilute, | ||||||
|  |     drop column maintenance_fee_diluted, | ||||||
|  |     drop column public_consumption_diluted; | ||||||
|  |  | ||||||
|  | alter table maintenance_fee | ||||||
|  |     add column period varchar(10) not null; | ||||||
|  |  | ||||||
|  | alter table report_summary | ||||||
|  |     drop column customer_consumption, | ||||||
|  |     drop column customer_consumption_fee, | ||||||
|  |     drop column customer_consumption_critical, | ||||||
|  |     drop column customer_consumption_critical_fee, | ||||||
|  |     drop column customer_consumption_peak, | ||||||
|  |     drop column customer_consumption_peak_fee, | ||||||
|  |     drop column customer_consumption_flat, | ||||||
|  |     drop column customer_consumption_flat_fee, | ||||||
|  |     drop column customer_consumption_valley, | ||||||
|  |     drop column customer_consumption_valley_fee, | ||||||
|  |     drop column public_consumption, | ||||||
|  |     drop column public_consumption_fee, | ||||||
|  |     drop column public_consumption_critical, | ||||||
|  |     drop column public_consumption_critical_fee, | ||||||
|  |     drop column public_consumption_peak, | ||||||
|  |     drop column public_consumption_peak_fee, | ||||||
|  |     drop column public_consumption_flat, | ||||||
|  |     drop column public_consumption_flat_fee, | ||||||
|  |     drop column public_consumption_valley, | ||||||
|  |     drop column public_consumption_valley_fee, | ||||||
|  |     drop column public_consumption_proportion, | ||||||
|  |     drop column diluteds, | ||||||
|  |     add column authorize_loss numeric(14,2), | ||||||
|  |     add column authorize_loss_fee numeric(16,2), | ||||||
|  |     add column authorize_loss_proportion numeric(16,15); | ||||||
| @@ -10,55 +10,52 @@ import ( | |||||||
| ) | ) | ||||||
|  |  | ||||||
| type EndUserDetail struct { | type EndUserDetail struct { | ||||||
| 	bun.BaseModel            `bun:"table:end_user_detail,alias:eud"` | 	bun.BaseModel         `bun:"table:end_user_detail,alias:eud"` | ||||||
| 	CreatedAndModified       `bun:"extend"` | 	CreatedAndModified    `bun:"extend"` | ||||||
| 	ReportId                 string              `bun:",pk,notnull" json:"reportId"` | 	ReportId              string              `bun:",pk,notnull" json:"reportId"` | ||||||
| 	ParkId                   string              `bun:",pk,notnull" json:"parkId"` | 	ParkId                string              `bun:",pk,notnull" json:"parkId"` | ||||||
| 	MeterId                  string              `bun:"meter_04kv_id,pk,notnull" json:"meterId"` | 	MeterId               string              `bun:"meter_04kv_id,pk,notnull" json:"meterId"` | ||||||
| 	Seq                      int64               `bun:"type:bigint,notnull" json:"seq"` | 	Seq                   int64               `bun:"type:bigint,notnull" json:"seq"` | ||||||
| 	Ratio                    decimal.Decimal     `bun:"type:numeric,notnull" json:"ratio"` | 	Ratio                 decimal.Decimal     `bun:"type:numeric,notnull" json:"ratio"` | ||||||
| 	Address                  *string             `json:"address"` | 	Address               *string             `json:"address"` | ||||||
| 	CustomerName             *string             `json:"customerName"` | 	CustomerName          *string             `json:"customerName"` | ||||||
| 	ContactName              *string             `json:"contactName"` | 	ContactName           *string             `json:"contactName"` | ||||||
| 	ContactPhone             *string             `json:"contactPhone"` | 	ContactPhone          *string             `json:"contactPhone"` | ||||||
| 	IsPublicMeter            bool                `bun:"public_meter,notnull" json:"isPublicMeter"` | 	IsPublicMeter         bool                `bun:"public_meter,notnull" json:"isPublicMeter"` | ||||||
| 	WillDilute               bool                `bun:"dilute,notnull" json:"willDilute"` | 	LastPeriodOverall     decimal.Decimal     `bun:"type:numeric,notnull" json:"lastPeriodOverall"` | ||||||
| 	LastPeriodOverall        decimal.Decimal     `bun:"type:numeric,notnull" json:"lastPeriodOverall"` | 	LastPeriodCritical    decimal.Decimal     `bun:"type:numeric,notnull" json:"lastPeriodCritical"` | ||||||
| 	LastPeriodCritical       decimal.Decimal     `bun:"type:numeric,notnull" json:"lastPeriodCritical"` | 	LastPeriodPeak        decimal.Decimal     `bun:"type:numeric,notnull" json:"lastPeriodPeak"` | ||||||
| 	LastPeriodPeak           decimal.Decimal     `bun:"type:numeric,notnull" json:"lastPeriodPeak"` | 	LastPeriodFlat        decimal.Decimal     `bun:"type:numeric,notnull" json:"lastPeriodFlat"` | ||||||
| 	LastPeriodFlat           decimal.Decimal     `bun:"type:numeric,notnull" json:"lastPeriodFlat"` | 	LastPeriodValley      decimal.Decimal     `bun:"type:numeric,notnull" json:"lastPeriodValley"` | ||||||
| 	LastPeriodValley         decimal.Decimal     `bun:"type:numeric,notnull" json:"lastPeriodValley"` | 	CurrentPeriodOverall  decimal.Decimal     `bun:"type:numeric,notnull" json:"currentPeriodOverall"` | ||||||
| 	CurrentPeriodOverall     decimal.Decimal     `bun:"type:numeric,notnull" json:"currentPeriodOverall"` | 	CurrentPeriodCritical decimal.Decimal     `bun:"type:numeric,notnull" json:"currentPeriodCritical"` | ||||||
| 	CurrentPeriodCritical    decimal.Decimal     `bun:"type:numeric,notnull" json:"currentPeriodCritical"` | 	CurrentPeriodPeak     decimal.Decimal     `bun:"type:numeric,notnull" json:"currentPeriodPeak"` | ||||||
| 	CurrentPeriodPeak        decimal.Decimal     `bun:"type:numeric,notnull" json:"currentPeriodPeak"` | 	CurrentPeriodFlat     decimal.Decimal     `bun:"type:numeric,notnull" json:"currentPeriodFlat"` | ||||||
| 	CurrentPeriodFlat        decimal.Decimal     `bun:"type:numeric,notnull" json:"currentPeriodFlat"` | 	CurrentPeriodValley   decimal.Decimal     `bun:"type:numeric,notnull" json:"currentPeriodValley"` | ||||||
| 	CurrentPeriodValley      decimal.Decimal     `bun:"type:numeric,notnull" json:"currentPeriodValley"` | 	AdjustOverall         decimal.Decimal     `bun:"type:numeric,notnull" json:"adjustOverall"` | ||||||
| 	AdjustOverall            decimal.Decimal     `bun:"type:numeric,notnull" json:"adjustOverall"` | 	AdjustCritical        decimal.Decimal     `bun:"type:numeric,notnull" json:"adjustCritical"` | ||||||
| 	AdjustCritical           decimal.Decimal     `bun:"type:numeric,notnull" json:"adjustCritical"` | 	AdjustPeak            decimal.Decimal     `bun:"type:numeric,notnull" json:"adjustPeak"` | ||||||
| 	AdjustPeak               decimal.Decimal     `bun:"type:numeric,notnull" json:"adjustPeak"` | 	AdjustFlat            decimal.Decimal     `bun:"type:numeric,notnull" json:"adjustFlat"` | ||||||
| 	AdjustFlat               decimal.Decimal     `bun:"type:numeric,notnull" json:"adjustFlat"` | 	AdjustValley          decimal.Decimal     `bun:"type:numeric,notnull" json:"adjustValley"` | ||||||
| 	AdjustValley             decimal.Decimal     `bun:"type:numeric,notnull" json:"adjustValley"` | 	Overall               decimal.NullDecimal `bun:"type:numeric" json:"overall"` | ||||||
| 	Overall                  decimal.NullDecimal `bun:"type:numeric" json:"overall"` | 	OverallFee            decimal.NullDecimal `bun:"type:numeric" json:"overallFee"` | ||||||
| 	OverallFee               decimal.NullDecimal `bun:"type:numeric" json:"overallFee"` | 	OverallProportion     decimal.Decimal     `bun:"type:numeric,notnull" json:"-"` | ||||||
| 	OverallProportion        decimal.Decimal     `bun:"type:numeric,notnull" json:"-"` | 	Critical              decimal.NullDecimal `bun:"type:numeric" json:"critical"` | ||||||
| 	Critical                 decimal.NullDecimal `bun:"type:numeric" json:"critical"` | 	CriticalFee           decimal.NullDecimal `bun:"type:numeric" json:"criticalFee"` | ||||||
| 	CriticalFee              decimal.NullDecimal `bun:"type:numeric" json:"criticalFee"` | 	Peak                  decimal.NullDecimal `bun:"type:numeric" json:"peak"` | ||||||
| 	Peak                     decimal.NullDecimal `bun:"type:numeric" json:"peak"` | 	PeakFee               decimal.NullDecimal `bun:"type:numeric" json:"peakFee"` | ||||||
| 	PeakFee                  decimal.NullDecimal `bun:"type:numeric" json:"peakFee"` | 	Flat                  decimal.NullDecimal `bun:"type:numeric" json:"flat"` | ||||||
| 	Flat                     decimal.NullDecimal `bun:"type:numeric" json:"flat"` | 	FlatFee               decimal.NullDecimal `bun:"type:numeric" json:"flatFee"` | ||||||
| 	FlatFee                  decimal.NullDecimal `bun:"type:numeric" json:"flatFee"` | 	Valley                decimal.NullDecimal `bun:"type:numeric" json:"valley"` | ||||||
| 	Valley                   decimal.NullDecimal `bun:"type:numeric" json:"valley"` | 	ValleyFee             decimal.NullDecimal `bun:"type:numeric" json:"valleyFee"` | ||||||
| 	ValleyFee                decimal.NullDecimal `bun:"type:numeric" json:"valleyFee"` | 	BasicFeeDiluted       decimal.NullDecimal `bun:"type:numeric" json:"basicFeeDiluted"` | ||||||
| 	BasicFeeDiluted          decimal.NullDecimal `bun:"type:numeric" json:"basicFeeDiluted"` | 	AdjustFeeDiluted      decimal.NullDecimal `bun:"type:numeric" json:"adjustFeeDiluted"` | ||||||
| 	AdjustFeeDiluted         decimal.NullDecimal `bun:"type:numeric" json:"adjustFeeDiluted"` | 	LossDiluted           decimal.NullDecimal `bun:"type:numeric" json:"lossDiluted"` | ||||||
| 	LossDiluted              decimal.NullDecimal `bun:"type:numeric" json:"lossDiluted"` | 	LossFeeDiluted        decimal.NullDecimal `bun:"type:numeric" json:"lossFeeDiluted"` | ||||||
| 	LossFeeDiluted           decimal.NullDecimal `bun:"type:numeric" json:"lossFeeDiluted"` | 	FinalDiluted          decimal.NullDecimal `bun:"type:numeric" json:"finalDiluted"` | ||||||
| 	MaintenanceFeeDiluted    decimal.NullDecimal `bun:"type:numeric" json:"maintenanceFeeDiluted"` | 	FinalCharge           decimal.NullDecimal `bun:"type:numeric" json:"finalCharge"` | ||||||
| 	PublicConsumptionDiluted decimal.NullDecimal `bun:"type:numeric" json:"publicConsumptionDiluted"` | 	Initialize            bool                `bun:"-" json:"-"` | ||||||
| 	FinalDiluted             decimal.NullDecimal `bun:"type:numeric" json:"finalDiluted"` | 	Origin                *Meter04KV          `bun:"rel:belongs-to,join:park_id=park_id,join:meter_04kv_id=code" json:"-"` | ||||||
| 	FinalCharge              decimal.NullDecimal `bun:"type:numeric" json:"finalCharge"` |  | ||||||
| 	Initialize               bool                `bun:"-" json:"-"` |  | ||||||
| 	Origin                   *Meter04KV          `bun:"rel:belongs-to,join:park_id=park_id,join:meter_04kv_id=code" json:"-"` |  | ||||||
| } | } | ||||||
|  |  | ||||||
| var _ bun.BeforeAppendModelHook = (*EndUserDetail)(nil) | var _ bun.BeforeAppendModelHook = (*EndUserDetail)(nil) | ||||||
|   | |||||||
| @@ -15,6 +15,7 @@ type MaintenanceFee struct { | |||||||
| 	Id                 string          `bun:",pk,notnull" json:"id"` | 	Id                 string          `bun:",pk,notnull" json:"id"` | ||||||
| 	ParkId             string          `bun:",notnull" json:"parkId"` | 	ParkId             string          `bun:",notnull" json:"parkId"` | ||||||
| 	Name               string          `bun:",notnull" json:"name"` | 	Name               string          `bun:",notnull" json:"name"` | ||||||
|  | 	Period             string          `bun:",notnull" json:"period"` | ||||||
| 	Fee                decimal.Decimal `bun:"type:numeric,notnull" json:"fee"` | 	Fee                decimal.Decimal `bun:"type:numeric,notnull" json:"fee"` | ||||||
| 	Memo               *string         `bun:"type:text" json:"memo"` | 	Memo               *string         `bun:"type:text" json:"memo"` | ||||||
| 	Enabled            bool            `bun:",notnull" json:"enabled"` | 	Enabled            bool            `bun:",notnull" json:"enabled"` | ||||||
|   | |||||||
| @@ -62,10 +62,12 @@ type ConsumptionOverallPart struct { | |||||||
| } | } | ||||||
|  |  | ||||||
| type LossPart struct { | type LossPart struct { | ||||||
| 	Quantity       decimal.Decimal `json:"quantity"` | 	Quantity                decimal.Decimal `json:"quantity"` | ||||||
| 	Price          decimal.Decimal `json:"price"` | 	Price                   decimal.Decimal `json:"price"` | ||||||
| 	ConsumptionFee decimal.Decimal `json:"consumptionFee"` | 	ConsumptionFee          decimal.Decimal `json:"consumptionFee"` | ||||||
| 	Proportion     decimal.Decimal `json:"proportion"` | 	Proportion              decimal.Decimal `json:"proportion"` | ||||||
|  | 	AuthorizeQuantity       decimal.Decimal `json:"authorizeQuantity"` | ||||||
|  | 	AuthorizeConsumptionFee decimal.Decimal `json:"authorizeConsumptionFee"` | ||||||
| } | } | ||||||
|  |  | ||||||
| type OtherShouldCollectionPart struct { | type OtherShouldCollectionPart struct { | ||||||
| @@ -89,8 +91,8 @@ type EndUserSummary struct { | |||||||
| 	Address       *string             `json:"address"` | 	Address       *string             `json:"address"` | ||||||
| 	MeterId       string              `json:"meterId"` | 	MeterId       string              `json:"meterId"` | ||||||
| 	IsPublicMeter bool                `json:"isPublicMeter"` | 	IsPublicMeter bool                `json:"isPublicMeter"` | ||||||
| 	Diluted       bool                `json:"willDilute"` |  | ||||||
| 	Overall       decimal.Decimal     `json:"overall"` | 	Overall       decimal.Decimal     `json:"overall"` | ||||||
|  | 	OverallPrice  decimal.Decimal     `json:"overallPrice"` | ||||||
| 	OverallFee    decimal.Decimal     `json:"overallFee"` | 	OverallFee    decimal.Decimal     `json:"overallFee"` | ||||||
| 	Critical      decimal.NullDecimal `json:"critical"` | 	Critical      decimal.NullDecimal `json:"critical"` | ||||||
| 	CriticalFee   decimal.NullDecimal `json:"criticalFee"` | 	CriticalFee   decimal.NullDecimal `json:"criticalFee"` | ||||||
| @@ -98,19 +100,19 @@ type EndUserSummary struct { | |||||||
| 	PeakFee       decimal.NullDecimal `json:"peakFee"` | 	PeakFee       decimal.NullDecimal `json:"peakFee"` | ||||||
| 	Valley        decimal.NullDecimal `json:"valley"` | 	Valley        decimal.NullDecimal `json:"valley"` | ||||||
| 	ValleyFee     decimal.NullDecimal `json:"valleyFee"` | 	ValleyFee     decimal.NullDecimal `json:"valleyFee"` | ||||||
| 	Maintenance   decimal.Decimal     `json:"maintenance"` | 	Loss          decimal.Decimal     `json:"loss"` | ||||||
|  | 	LossFee       decimal.Decimal     `json:"lossFee"` | ||||||
| } | } | ||||||
|  |  | ||||||
| type Publicity struct { | type Publicity struct { | ||||||
| 	Report                    Report                    `json:"index"` | 	Report                   Report                    `json:"index"` | ||||||
| 	User                      UserDetail                `json:"enterprise"` | 	User                     UserDetail                `json:"enterprise"` | ||||||
| 	Park                      Park                      `json:"park"` | 	Park                     Park                      `json:"park"` | ||||||
| 	Paid                      PaidPart                  `json:"paid"` | 	Paid                     PaidPart                  `json:"paid"` | ||||||
| 	EndUser                   ConsumptionOverallPart    `json:"endUserSum"` | 	EndUser                  ConsumptionOverallPart    `json:"endUserSum"` | ||||||
| 	Loss                      LossPart                  `json:"loss"` | 	Loss                     LossPart                  `json:"loss"` | ||||||
| 	DilutedConsumptionOverall ConsumptionOverallPart    `json:"diluted"` | 	PublicConsumptionOverall ConsumptionOverallPart    `json:"public"` | ||||||
| 	PublicConsumptionOverall  ConsumptionOverallPart    `json:"public"` | 	OtherCollections         OtherShouldCollectionPart `json:"others"` | ||||||
| 	OtherCollections          OtherShouldCollectionPart `json:"others"` | 	Maintenance              MaintenancePart           `json:"maintenance"` | ||||||
| 	Maintenance               MaintenancePart           `json:"maintenance"` | 	EndUserDetails           []EndUserSummary          `json:"endUser"` | ||||||
| 	EndUserDetails            []EndUserSummary          `json:"endUser"` |  | ||||||
| } | } | ||||||
|   | |||||||
| @@ -29,6 +29,9 @@ type ReportSummary struct { | |||||||
| 	Loss                          decimal.NullDecimal `bun:"type:numeric" json:"loss"` | 	Loss                          decimal.NullDecimal `bun:"type:numeric" json:"loss"` | ||||||
| 	LossFee                       decimal.NullDecimal `bun:"type:numeric" json:"lossFee"` | 	LossFee                       decimal.NullDecimal `bun:"type:numeric" json:"lossFee"` | ||||||
| 	LossProportion                decimal.NullDecimal `bun:"type:numeric" json:"lossProportion"` | 	LossProportion                decimal.NullDecimal `bun:"type:numeric" json:"lossProportion"` | ||||||
|  | 	AuthorizeLoss                 decimal.NullDecimal `bun:"type:numeric" json:"authorizeLoss"` | ||||||
|  | 	AuthorizeLossFee              decimal.NullDecimal `bun:"type:numeric" json:"authorizeLossFee"` | ||||||
|  | 	AuthorizeLossProportion       decimal.NullDecimal `bun:"type:numeric" json:"authorizeLossProportion"` | ||||||
| 	BasicFee                      decimal.Decimal     `bun:"type:numeric,notnull" json:"basicFee"` | 	BasicFee                      decimal.Decimal     `bun:"type:numeric,notnull" json:"basicFee"` | ||||||
| 	BasicDilutedPrice             decimal.NullDecimal `bun:"type:numeric" json:"basicDilutedPrice"` | 	BasicDilutedPrice             decimal.NullDecimal `bun:"type:numeric" json:"basicDilutedPrice"` | ||||||
| 	AdjustFee                     decimal.Decimal     `bun:"type:numeric,notnull" json:"adjustFee"` | 	AdjustFee                     decimal.Decimal     `bun:"type:numeric,notnull" json:"adjustFee"` | ||||||
| @@ -40,7 +43,6 @@ type ReportSummary struct { | |||||||
| 	FinalDilutedOverall           decimal.NullDecimal `bun:"type:numeric" json:"finalDilutedOverall"` | 	FinalDilutedOverall           decimal.NullDecimal `bun:"type:numeric" json:"finalDilutedOverall"` | ||||||
| 	Customers                     Consumptions        `bun:"type:jsonb" json:"customers"` | 	Customers                     Consumptions        `bun:"type:jsonb" json:"customers"` | ||||||
| 	Publics                       Consumptions        `bun:"type:jsonb" json:"publics"` | 	Publics                       Consumptions        `bun:"type:jsonb" json:"publics"` | ||||||
| 	Diluteds                      Consumptions        `bun:"type:jsonb" json:"diluteds"` |  | ||||||
| } | } | ||||||
|  |  | ||||||
| type Consumptions struct { | type Consumptions struct { | ||||||
|   | |||||||
| @@ -43,7 +43,6 @@ func (_CalculateService) ComprehensivelyCalculateReport(reportId string) (err er | |||||||
| 	// 计算终端用户信息与概览中的合计 | 	// 计算终端用户信息与概览中的合计 | ||||||
| 	report.Summary.Customers = model.NewConsumptions() | 	report.Summary.Customers = model.NewConsumptions() | ||||||
| 	report.Summary.Publics = model.NewConsumptions() | 	report.Summary.Publics = model.NewConsumptions() | ||||||
| 	report.Summary.Diluteds = model.NewConsumptions() |  | ||||||
| 	for _, eu := range report.EndUsers { | 	for _, eu := range report.EndUsers { | ||||||
| 		eu.OverallFee = decimal.NewNullDecimal( | 		eu.OverallFee = decimal.NewNullDecimal( | ||||||
| 			eu.Overall.Decimal.Mul(report.Summary.OverallPrice.Decimal).RoundBank(2), | 			eu.Overall.Decimal.Mul(report.Summary.OverallPrice.Decimal).RoundBank(2), | ||||||
| @@ -66,13 +65,6 @@ func (_CalculateService) ComprehensivelyCalculateReport(reportId string) (err er | |||||||
| 			report.Summary.Publics.Peak.Decimal = report.Summary.Publics.Peak.Decimal.Add(eu.Peak.Decimal) | 			report.Summary.Publics.Peak.Decimal = report.Summary.Publics.Peak.Decimal.Add(eu.Peak.Decimal) | ||||||
| 			report.Summary.Publics.Flat.Decimal = report.Summary.Publics.Flat.Decimal.Add(eu.Flat.Decimal) | 			report.Summary.Publics.Flat.Decimal = report.Summary.Publics.Flat.Decimal.Add(eu.Flat.Decimal) | ||||||
| 			report.Summary.Publics.Valley.Decimal = report.Summary.Publics.Valley.Decimal.Add(eu.Valley.Decimal) | 			report.Summary.Publics.Valley.Decimal = report.Summary.Publics.Valley.Decimal.Add(eu.Valley.Decimal) | ||||||
| 			if eu.WillDilute { |  | ||||||
| 				report.Summary.Diluteds.Consumption.Decimal = report.Summary.Diluteds.Consumption.Decimal.Add(eu.Overall.Decimal) |  | ||||||
| 				report.Summary.Diluteds.Critical.Decimal = report.Summary.Diluteds.Critical.Decimal.Add(eu.Critical.Decimal) |  | ||||||
| 				report.Summary.Diluteds.Peak.Decimal = report.Summary.Diluteds.Peak.Decimal.Add(eu.Peak.Decimal) |  | ||||||
| 				report.Summary.Diluteds.Flat.Decimal = report.Summary.Diluteds.Flat.Decimal.Add(eu.Flat.Decimal) |  | ||||||
| 				report.Summary.Diluteds.Valley.Decimal = report.Summary.Diluteds.Valley.Decimal.Add(eu.Valley.Decimal) |  | ||||||
| 			} |  | ||||||
| 		} else { | 		} else { | ||||||
| 			report.Summary.Customers.Consumption.Decimal = report.Summary.Customers.Consumption.Decimal.Add(eu.Overall.Decimal) | 			report.Summary.Customers.Consumption.Decimal = report.Summary.Customers.Consumption.Decimal.Add(eu.Overall.Decimal) | ||||||
| 			report.Summary.Customers.Critical.Decimal = report.Summary.Customers.Critical.Decimal.Add(eu.Critical.Decimal) | 			report.Summary.Customers.Critical.Decimal = report.Summary.Customers.Critical.Decimal.Add(eu.Critical.Decimal) | ||||||
| @@ -116,22 +108,6 @@ func (_CalculateService) ComprehensivelyCalculateReport(reportId string) (err er | |||||||
| 		report.Summary.Publics.ValleyFee = decimal.NewNullDecimal( | 		report.Summary.Publics.ValleyFee = decimal.NewNullDecimal( | ||||||
| 			report.Summary.Publics.Valley.Decimal.Mul(report.Summary.OverallPrice.Decimal).RoundBank(2), | 			report.Summary.Publics.Valley.Decimal.Mul(report.Summary.OverallPrice.Decimal).RoundBank(2), | ||||||
| 		) | 		) | ||||||
| 		// 计算摊薄总计部分 |  | ||||||
| 		report.Summary.Diluteds.ConsumptionFee = decimal.NewNullDecimal( |  | ||||||
| 			report.Summary.Diluteds.Consumption.Decimal.Mul(report.Summary.OverallPrice.Decimal).RoundBank(2), |  | ||||||
| 		) |  | ||||||
| 		report.Summary.Diluteds.CriticalFee = decimal.NewNullDecimal( |  | ||||||
| 			report.Summary.Diluteds.Critical.Decimal.Mul(report.Summary.OverallPrice.Decimal).RoundBank(2), |  | ||||||
| 		) |  | ||||||
| 		report.Summary.Diluteds.PeakFee = decimal.NewNullDecimal( |  | ||||||
| 			report.Summary.Diluteds.Peak.Decimal.Mul(report.Summary.OverallPrice.Decimal).RoundBank(2), |  | ||||||
| 		) |  | ||||||
| 		report.Summary.Diluteds.FlatFee = decimal.NewNullDecimal( |  | ||||||
| 			report.Summary.Diluteds.Flat.Decimal.Mul(report.Summary.OverallPrice.Decimal).RoundBank(2), |  | ||||||
| 		) |  | ||||||
| 		report.Summary.Diluteds.ValleyFee = decimal.NewNullDecimal( |  | ||||||
| 			report.Summary.Diluteds.Valley.Decimal.Mul(report.Summary.OverallPrice.Decimal).RoundBank(2), |  | ||||||
| 		) |  | ||||||
| 	} | 	} | ||||||
| 	if report.SubmeterType == model.CUSTOMER_METER_PV { | 	if report.SubmeterType == model.CUSTOMER_METER_PV { | ||||||
| 		// 计算终端用户部分 | 		// 计算终端用户部分 | ||||||
| @@ -166,22 +142,6 @@ func (_CalculateService) ComprehensivelyCalculateReport(reportId string) (err er | |||||||
| 		report.Summary.Publics.ValleyFee = decimal.NewNullDecimal( | 		report.Summary.Publics.ValleyFee = decimal.NewNullDecimal( | ||||||
| 			report.Summary.Publics.Valley.Decimal.Mul(report.Summary.ValleyPrice.Decimal).RoundBank(2), | 			report.Summary.Publics.Valley.Decimal.Mul(report.Summary.ValleyPrice.Decimal).RoundBank(2), | ||||||
| 		) | 		) | ||||||
| 		// 计算摊薄部分 |  | ||||||
| 		report.Summary.Diluteds.ConsumptionFee = decimal.NewNullDecimal( |  | ||||||
| 			report.Summary.Diluteds.Consumption.Decimal.Mul(report.Summary.OverallPrice.Decimal).RoundBank(2), |  | ||||||
| 		) |  | ||||||
| 		report.Summary.Diluteds.CriticalFee = decimal.NewNullDecimal( |  | ||||||
| 			report.Summary.Diluteds.Critical.Decimal.Mul(report.Summary.CriticalPrice.Decimal).RoundBank(2), |  | ||||||
| 		) |  | ||||||
| 		report.Summary.Diluteds.PeakFee = decimal.NewNullDecimal( |  | ||||||
| 			report.Summary.Diluteds.Peak.Decimal.Mul(report.Summary.PeakPrice.Decimal).RoundBank(2), |  | ||||||
| 		) |  | ||||||
| 		report.Summary.Diluteds.FlatFee = decimal.NewNullDecimal( |  | ||||||
| 			report.Summary.Diluteds.Flat.Decimal.Mul(report.Summary.FlatPrice.Decimal).RoundBank(2), |  | ||||||
| 		) |  | ||||||
| 		report.Summary.Diluteds.ValleyFee = decimal.NewNullDecimal( |  | ||||||
| 			report.Summary.Diluteds.Valley.Decimal.Mul(report.Summary.ValleyPrice.Decimal).RoundBank(2), |  | ||||||
| 		) |  | ||||||
| 	} | 	} | ||||||
| 	if report.Summary.Overall.Abs().GreaterThan(decimal.Zero) { | 	if report.Summary.Overall.Abs().GreaterThan(decimal.Zero) { | ||||||
| 		report.Summary.Customers.Proportion = decimal.NewNullDecimal( | 		report.Summary.Customers.Proportion = decimal.NewNullDecimal( | ||||||
| @@ -190,9 +150,6 @@ func (_CalculateService) ComprehensivelyCalculateReport(reportId string) (err er | |||||||
| 		report.Summary.Publics.Proportion = decimal.NewNullDecimal( | 		report.Summary.Publics.Proportion = decimal.NewNullDecimal( | ||||||
| 			report.Summary.Publics.Consumption.Decimal.Div(report.Summary.Overall).RoundBank(15), | 			report.Summary.Publics.Consumption.Decimal.Div(report.Summary.Overall).RoundBank(15), | ||||||
| 		) | 		) | ||||||
| 		report.Summary.Diluteds.Proportion = decimal.NewNullDecimal( |  | ||||||
| 			report.Summary.Diluteds.Consumption.Decimal.Div(report.Summary.Overall).RoundBank(15), |  | ||||||
| 		) |  | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	// 计算线损 | 	// 计算线损 | ||||||
| @@ -206,10 +163,21 @@ func (_CalculateService) ComprehensivelyCalculateReport(reportId string) (err er | |||||||
| 		report.Summary.LossProportion = decimal.NewNullDecimal( | 		report.Summary.LossProportion = decimal.NewNullDecimal( | ||||||
| 			report.Summary.Loss.Decimal.Div(report.Summary.Overall).RoundBank(15), | 			report.Summary.Loss.Decimal.Div(report.Summary.Overall).RoundBank(15), | ||||||
| 		) | 		) | ||||||
|  | 		if report.Summary.LossProportion.Decimal.GreaterThan(decimal.NewFromFloat(0.1)) { | ||||||
|  | 			report.Summary.AuthorizeLoss = decimal.NewNullDecimal( | ||||||
|  | 				report.Summary.Overall.Mul(decimal.NewFromFloat(0.1)).RoundBank(8), | ||||||
|  | 			) | ||||||
|  | 			report.Summary.AuthorizeLossFee = decimal.NewNullDecimal( | ||||||
|  | 				report.Summary.AuthorizeLoss.Decimal.Mul(report.Summary.OverallPrice.Decimal).RoundBank(8), | ||||||
|  | 			) | ||||||
|  | 		} else { | ||||||
|  | 			report.Summary.AuthorizeLoss = report.Summary.Loss | ||||||
|  | 			report.Summary.AuthorizeLossFee = report.Summary.LossFee | ||||||
|  | 		} | ||||||
| 	} | 	} | ||||||
| 	if report.Summary.Customers.Consumption.Decimal.Abs().GreaterThan(decimal.Zero) { | 	if report.Summary.Customers.Consumption.Decimal.Abs().GreaterThan(decimal.Zero) { | ||||||
| 		report.Summary.LossDilutedPrice = decimal.NewNullDecimal( | 		report.Summary.LossDilutedPrice = decimal.NewNullDecimal( | ||||||
| 			report.Summary.LossFee.Decimal.Div(report.Summary.Customers.Consumption.Decimal).RoundBank(8), | 			report.Summary.AuthorizeLossFee.Decimal.Div(report.Summary.Customers.Consumption.Decimal).RoundBank(8), | ||||||
| 		) | 		) | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| @@ -224,11 +192,6 @@ func (_CalculateService) ComprehensivelyCalculateReport(reportId string) (err er | |||||||
| 		report.Summary.MaintenanceDilutedPrice = decimal.NewNullDecimal( | 		report.Summary.MaintenanceDilutedPrice = decimal.NewNullDecimal( | ||||||
| 			maintenanceFeeTotal.Div(report.Summary.Customers.Consumption.Decimal).RoundBank(8), | 			maintenanceFeeTotal.Div(report.Summary.Customers.Consumption.Decimal).RoundBank(8), | ||||||
| 		) | 		) | ||||||
| 		// ! 这里需要注意的是,在原始设计中PublicConsumptionDilutedPrice就是表示公共摊薄价格, |  | ||||||
| 		// ! 而不是所有公共设施合计数据,所以要使用Diluteds部分数据。 |  | ||||||
| 		report.Summary.PublicConsumptionDilutedPrice = decimal.NewNullDecimal( |  | ||||||
| 			report.Summary.Diluteds.ConsumptionFee.Decimal.Div(report.Summary.Customers.Consumption.Decimal).RoundBank(8), |  | ||||||
| 		) |  | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	// 计算摊薄总计 | 	// 计算摊薄总计 | ||||||
| @@ -236,57 +199,38 @@ func (_CalculateService) ComprehensivelyCalculateReport(reportId string) (err er | |||||||
| 	report.Summary.FinalDilutedOverall = decimal.NewNullDecimal( | 	report.Summary.FinalDilutedOverall = decimal.NewNullDecimal( | ||||||
| 		report.Summary.BasicFee. | 		report.Summary.BasicFee. | ||||||
| 			Add(report.Summary.AdjustFee). | 			Add(report.Summary.AdjustFee). | ||||||
| 			Add(report.Summary.Diluteds.ConsumptionFee.Decimal). | 			Add(report.Summary.AuthorizeLossFee.Decimal), | ||||||
| 			Add(maintenanceFeeTotal). |  | ||||||
| 			Add(report.Summary.LossFee.Decimal), |  | ||||||
| 	) | 	) | ||||||
|  |  | ||||||
| 	// 计算终端用户的全部摊薄内容 | 	// 计算终端用户的全部摊薄内容 | ||||||
| 	for _, eu := range report.EndUsers { | 	for _, eu := range report.EndUsers { | ||||||
| 		if eu.IsPublicMeter && eu.WillDilute { | 		// 计算户表表计的摊薄内容 | ||||||
| 			// 计算需要摊薄的公共表计的摊薄内容 | 		if report.Summary.Customers.Consumption.Decimal.Abs().GreaterThan(decimal.Zero) { | ||||||
| 			if report.Summary.Diluteds.Consumption.Decimal.Abs().GreaterThan(decimal.Zero) { | 			eu.OverallProportion = eu.Overall.Decimal.Div(report.Summary.Customers.Consumption.Decimal).RoundBank(15) | ||||||
| 				eu.OverallProportion = eu.Overall.Decimal.Div(report.Summary.Diluteds.Consumption.Decimal).RoundBank(15) |  | ||||||
| 			} else { |  | ||||||
| 				eu.OverallProportion = decimal.Zero |  | ||||||
| 			} |  | ||||||
| 		} else { | 		} else { | ||||||
| 			// 计算户表表计的摊薄内容 | 			eu.OverallProportion = decimal.Zero | ||||||
| 			if report.Summary.Customers.Consumption.Decimal.Abs().GreaterThan(decimal.Zero) { |  | ||||||
| 				eu.OverallProportion = eu.Overall.Decimal.Div(report.Summary.Customers.Consumption.Decimal).RoundBank(15) |  | ||||||
| 			} else { |  | ||||||
| 				eu.OverallProportion = decimal.Zero |  | ||||||
| 			} |  | ||||||
| 			eu.BasicFeeDiluted = decimal.NewNullDecimal( |  | ||||||
| 				eu.Overall.Decimal.Mul(report.Summary.BasicDilutedPrice.Decimal).RoundBank(2), |  | ||||||
| 			) |  | ||||||
| 			eu.AdjustFeeDiluted = decimal.NewNullDecimal( |  | ||||||
| 				eu.Overall.Decimal.Mul(report.Summary.AdjustDilutedPrice.Decimal).RoundBank(2), |  | ||||||
| 			) |  | ||||||
| 			eu.LossDiluted = decimal.NewNullDecimal( |  | ||||||
| 				report.Summary.Loss.Decimal.Mul(eu.OverallProportion).RoundBank(8), |  | ||||||
| 			) |  | ||||||
| 			eu.LossFeeDiluted = decimal.NewNullDecimal( |  | ||||||
| 				eu.Overall.Decimal.Mul(report.Summary.LossDilutedPrice.Decimal).RoundBank(8), |  | ||||||
| 			) |  | ||||||
| 			eu.MaintenanceFeeDiluted = decimal.NewNullDecimal( |  | ||||||
| 				eu.Overall.Decimal.Mul(report.Summary.MaintenanceDilutedPrice.Decimal).RoundBank(8), |  | ||||||
| 			) |  | ||||||
| 			eu.PublicConsumptionDiluted = decimal.NewNullDecimal( |  | ||||||
| 				eu.Overall.Decimal.Mul(report.Summary.PublicConsumptionDilutedPrice.Decimal).RoundBank(8), |  | ||||||
| 			) |  | ||||||
| 			eu.FinalDiluted = decimal.NewNullDecimal( |  | ||||||
| 				eu.BasicFeeDiluted.Decimal. |  | ||||||
| 					Add(eu.AdjustFeeDiluted.Decimal). |  | ||||||
| 					Add(eu.LossFeeDiluted.Decimal). |  | ||||||
| 					Add(eu.MaintenanceFeeDiluted.Decimal). |  | ||||||
| 					Add(eu.PublicConsumptionDiluted.Decimal). |  | ||||||
| 					RoundBank(2), |  | ||||||
| 			) |  | ||||||
| 			eu.FinalCharge = decimal.NewNullDecimal( |  | ||||||
| 				eu.OverallFee.Decimal.Add(eu.FinalDiluted.Decimal).RoundBank(2), |  | ||||||
| 			) |  | ||||||
| 		} | 		} | ||||||
|  | 		eu.BasicFeeDiluted = decimal.NewNullDecimal( | ||||||
|  | 			eu.Overall.Decimal.Mul(report.Summary.BasicDilutedPrice.Decimal).RoundBank(2), | ||||||
|  | 		) | ||||||
|  | 		eu.AdjustFeeDiluted = decimal.NewNullDecimal( | ||||||
|  | 			eu.Overall.Decimal.Mul(report.Summary.AdjustDilutedPrice.Decimal).RoundBank(2), | ||||||
|  | 		) | ||||||
|  | 		eu.LossDiluted = decimal.NewNullDecimal( | ||||||
|  | 			report.Summary.AuthorizeLoss.Decimal.Mul(eu.OverallProportion).RoundBank(8), | ||||||
|  | 		) | ||||||
|  | 		eu.LossFeeDiluted = decimal.NewNullDecimal( | ||||||
|  | 			eu.Overall.Decimal.Mul(report.Summary.LossDilutedPrice.Decimal).RoundBank(8), | ||||||
|  | 		) | ||||||
|  | 		eu.FinalDiluted = decimal.NewNullDecimal( | ||||||
|  | 			eu.BasicFeeDiluted.Decimal. | ||||||
|  | 				Add(eu.AdjustFeeDiluted.Decimal). | ||||||
|  | 				Add(eu.LossFeeDiluted.Decimal). | ||||||
|  | 				RoundBank(2), | ||||||
|  | 		) | ||||||
|  | 		eu.FinalCharge = decimal.NewNullDecimal( | ||||||
|  | 			eu.OverallFee.Decimal.Add(eu.FinalDiluted.Decimal).RoundBank(2), | ||||||
|  | 		) | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	// 向数据库保存报表概况以及终端用户摊薄结果 | 	// 向数据库保存报表概况以及终端用户摊薄结果 | ||||||
|   | |||||||
| @@ -158,12 +158,8 @@ func (g _GodModeService) resetSingleEndUserRecord(tx *bun.Tx, ctx *context.Conte | |||||||
| 	record.LossDiluted.Valid = false | 	record.LossDiluted.Valid = false | ||||||
| 	record.LossFeeDiluted = decimal.NewNullDecimal(decimal.Zero) | 	record.LossFeeDiluted = decimal.NewNullDecimal(decimal.Zero) | ||||||
| 	record.LossFeeDiluted.Valid = false | 	record.LossFeeDiluted.Valid = false | ||||||
| 	record.MaintenanceFeeDiluted = decimal.NewNullDecimal(decimal.Zero) |  | ||||||
| 	record.MaintenanceFeeDiluted.Valid = false |  | ||||||
| 	record.FinalDiluted = decimal.NewNullDecimal(decimal.Zero) | 	record.FinalDiluted = decimal.NewNullDecimal(decimal.Zero) | ||||||
| 	record.FinalDiluted.Valid = false | 	record.FinalDiluted.Valid = false | ||||||
| 	record.PublicConsumptionDiluted = decimal.NewNullDecimal(decimal.Zero) |  | ||||||
| 	record.PublicConsumptionDiluted.Valid = false |  | ||||||
| 	record.FinalCharge = decimal.NewNullDecimal(decimal.Zero) | 	record.FinalCharge = decimal.NewNullDecimal(decimal.Zero) | ||||||
| 	record.FinalCharge.Valid = false | 	record.FinalCharge.Valid = false | ||||||
|  |  | ||||||
| @@ -250,7 +246,6 @@ func (g _GodModeService) resynchronizeEndUserArchives(tx *bun.Tx, ctx *context.C | |||||||
| 			record.ContactPhone = meter.ContactPhone | 			record.ContactPhone = meter.ContactPhone | ||||||
| 			record.Seq = meter.Seq | 			record.Seq = meter.Seq | ||||||
| 			record.IsPublicMeter = meter.IsPublicMeter | 			record.IsPublicMeter = meter.IsPublicMeter | ||||||
| 			record.WillDilute = meter.WillDilute |  | ||||||
| 			success, err := g.resetSingleEndUserRecord( | 			success, err := g.resetSingleEndUserRecord( | ||||||
| 				tx, ctx, *record, | 				tx, ctx, *record, | ||||||
| 				"customer_name", | 				"customer_name", | ||||||
| @@ -277,7 +272,6 @@ func (g _GodModeService) resynchronizeEndUserArchives(tx *bun.Tx, ctx *context.C | |||||||
| 				ContactName:        meter.ContactName, | 				ContactName:        meter.ContactName, | ||||||
| 				ContactPhone:       meter.ContactPhone, | 				ContactPhone:       meter.ContactPhone, | ||||||
| 				IsPublicMeter:      meter.IsPublicMeter, | 				IsPublicMeter:      meter.IsPublicMeter, | ||||||
| 				WillDilute:         meter.WillDilute, |  | ||||||
| 				LastPeriodOverall:  decimal.Zero, | 				LastPeriodOverall:  decimal.Zero, | ||||||
| 				LastPeriodCritical: decimal.Zero, | 				LastPeriodCritical: decimal.Zero, | ||||||
| 				LastPeriodPeak:     decimal.Zero, | 				LastPeriodPeak:     decimal.Zero, | ||||||
|   | |||||||
| @@ -240,7 +240,6 @@ func (_ReportService) InitializeNewReport(parkId string, period time.Time) (stri | |||||||
| 			ContactName:        customer.ContactName, | 			ContactName:        customer.ContactName, | ||||||
| 			ContactPhone:       customer.ContactPhone, | 			ContactPhone:       customer.ContactPhone, | ||||||
| 			IsPublicMeter:      customer.IsPublicMeter, | 			IsPublicMeter:      customer.IsPublicMeter, | ||||||
| 			WillDilute:         customer.WillDilute, |  | ||||||
| 			LastPeriodOverall:  decimal.Zero, | 			LastPeriodOverall:  decimal.Zero, | ||||||
| 			LastPeriodCritical: decimal.Zero, | 			LastPeriodCritical: decimal.Zero, | ||||||
| 			LastPeriodPeak:     decimal.Zero, | 			LastPeriodPeak:     decimal.Zero, | ||||||
| @@ -652,10 +651,12 @@ func (_ReportService) AssembleReportPublicity(reportId string) (*model.Publicity | |||||||
| 		Proportion:     report.Summary.Customers.Proportion.Decimal, | 		Proportion:     report.Summary.Customers.Proportion.Decimal, | ||||||
| 	} | 	} | ||||||
| 	lossPart := model.LossPart{ | 	lossPart := model.LossPart{ | ||||||
| 		Quantity:       report.Summary.Loss.Decimal, | 		Quantity:                report.Summary.Loss.Decimal, | ||||||
| 		Price:          report.Summary.OverallPrice.Decimal, | 		Price:                   report.Summary.OverallPrice.Decimal, | ||||||
| 		ConsumptionFee: report.Summary.LossFee.Decimal, | 		ConsumptionFee:          report.Summary.LossFee.Decimal, | ||||||
| 		Proportion:     report.Summary.LossProportion.Decimal, | 		Proportion:              report.Summary.LossProportion.Decimal, | ||||||
|  | 		AuthorizeQuantity:       report.Summary.AuthorizeLoss.Decimal, | ||||||
|  | 		AuthorizeConsumptionFee: report.Summary.AuthorizeLossFee.Decimal, | ||||||
| 	} | 	} | ||||||
| 	publicSummary := model.ConsumptionOverallPart{ | 	publicSummary := model.ConsumptionOverallPart{ | ||||||
| 		Overall:        report.Summary.Publics.Consumption.Decimal, | 		Overall:        report.Summary.Publics.Consumption.Decimal, | ||||||
| @@ -676,25 +677,6 @@ func (_ReportService) AssembleReportPublicity(reportId string) (*model.Publicity | |||||||
| 		ValleyFee:      report.Summary.Publics.ValleyFee, | 		ValleyFee:      report.Summary.Publics.ValleyFee, | ||||||
| 		Proportion:     report.Summary.Publics.Proportion.Decimal, | 		Proportion:     report.Summary.Publics.Proportion.Decimal, | ||||||
| 	} | 	} | ||||||
| 	dilutedSummary := model.ConsumptionOverallPart{ |  | ||||||
| 		Overall:        report.Summary.Diluteds.Consumption.Decimal, |  | ||||||
| 		OverallPrice:   report.Summary.OverallPrice.Decimal, |  | ||||||
| 		ConsumptionFee: report.Summary.Diluteds.ConsumptionFee.Decimal, |  | ||||||
| 		OverallFee:     report.Summary.Diluteds.ConsumptionFee.Decimal, |  | ||||||
| 		Critical:       report.Summary.Diluteds.Critical, |  | ||||||
| 		CriticalPrice:  report.Summary.CriticalPrice, |  | ||||||
| 		CriticalFee:    report.Summary.Diluteds.CriticalFee, |  | ||||||
| 		Peak:           report.Summary.Diluteds.Peak, |  | ||||||
| 		PeakPrice:      report.Summary.PeakPrice, |  | ||||||
| 		PeakFee:        report.Summary.Diluteds.PeakFee, |  | ||||||
| 		Flat:           report.Summary.Diluteds.Flat, |  | ||||||
| 		FlatPrice:      report.Summary.FlatPrice, |  | ||||||
| 		FlatFee:        report.Summary.Diluteds.FlatFee, |  | ||||||
| 		Valley:         report.Summary.Diluteds.Valley, |  | ||||||
| 		ValleyPrice:    report.Summary.ValleyPrice, |  | ||||||
| 		ValleyFee:      report.Summary.Diluteds.ValleyFee, |  | ||||||
| 		Proportion:     report.Summary.Diluteds.Proportion.Decimal, |  | ||||||
| 	} |  | ||||||
| 	otherCollection := model.OtherShouldCollectionPart{ | 	otherCollection := model.OtherShouldCollectionPart{ | ||||||
| 		MaintenanceFee: report.Summary.MaintenanceOverall, | 		MaintenanceFee: report.Summary.MaintenanceOverall, | ||||||
| 		BasicFees:      report.Summary.BasicFee.Add(report.Summary.AdjustFee), | 		BasicFees:      report.Summary.BasicFee.Add(report.Summary.AdjustFee), | ||||||
| @@ -730,8 +712,8 @@ func (_ReportService) AssembleReportPublicity(reportId string) (*model.Publicity | |||||||
| 				Address:       elem.Address, | 				Address:       elem.Address, | ||||||
| 				MeterId:       elem.MeterId, | 				MeterId:       elem.MeterId, | ||||||
| 				IsPublicMeter: elem.IsPublicMeter, | 				IsPublicMeter: elem.IsPublicMeter, | ||||||
| 				Diluted:       elem.WillDilute, |  | ||||||
| 				Overall:       elem.Overall.Decimal, | 				Overall:       elem.Overall.Decimal, | ||||||
|  | 				OverallPrice:  report.Summary.OverallPrice.Decimal, | ||||||
| 				OverallFee:    elem.OverallFee.Decimal, | 				OverallFee:    elem.OverallFee.Decimal, | ||||||
| 				Critical:      elem.Critical, | 				Critical:      elem.Critical, | ||||||
| 				CriticalFee:   elem.CriticalFee, | 				CriticalFee:   elem.CriticalFee, | ||||||
| @@ -739,23 +721,23 @@ func (_ReportService) AssembleReportPublicity(reportId string) (*model.Publicity | |||||||
| 				PeakFee:       elem.PeakFee, | 				PeakFee:       elem.PeakFee, | ||||||
| 				Valley:        elem.Valley, | 				Valley:        elem.Valley, | ||||||
| 				ValleyFee:     elem.ValleyFee, | 				ValleyFee:     elem.ValleyFee, | ||||||
| 				Maintenance:   elem.FinalDiluted.Decimal, | 				Loss:          elem.LossDiluted.Decimal, | ||||||
|  | 				LossFee:       elem.LossFeeDiluted.Decimal, | ||||||
| 			} | 			} | ||||||
| 		}, | 		}, | ||||||
| 	) | 	) | ||||||
|  |  | ||||||
| 	publicity := &model.Publicity{ | 	publicity := &model.Publicity{ | ||||||
| 		Report:                    *report, | 		Report:                   *report, | ||||||
| 		Park:                      *report.Park, | 		Park:                     *report.Park, | ||||||
| 		User:                      *report.Park.Enterprise, | 		User:                     *report.Park.Enterprise, | ||||||
| 		Paid:                      paidPart, | 		Paid:                     paidPart, | ||||||
| 		EndUser:                   endUserSummary, | 		EndUser:                  endUserSummary, | ||||||
| 		Loss:                      lossPart, | 		Loss:                     lossPart, | ||||||
| 		PublicConsumptionOverall:  publicSummary, | 		PublicConsumptionOverall: publicSummary, | ||||||
| 		DilutedConsumptionOverall: dilutedSummary, | 		OtherCollections:         otherCollection, | ||||||
| 		OtherCollections:          otherCollection, | 		Maintenance:              maintenanceFees, | ||||||
| 		Maintenance:               maintenanceFees, | 		EndUserDetails:           endUsers, | ||||||
| 		EndUserDetails:            endUsers, |  | ||||||
| 	} | 	} | ||||||
| 	cache.CacheEntity(publicity, []string{fmt.Sprintf("publicity:%s", reportId), fmt.Sprintf("report:%s", reportId), "report", "park"}, "publicity", reportId) | 	cache.CacheEntity(publicity, []string{fmt.Sprintf("publicity:%s", reportId), fmt.Sprintf("report:%s", reportId), "report", "park"}, "publicity", reportId) | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user