diff --git a/model/end_user_detail.go b/model/end_user_detail.go index 7356fd6..66bbf49 100644 --- a/model/end_user_detail.go +++ b/model/end_user_detail.go @@ -73,6 +73,7 @@ func (d EndUserDetail) Validate() (bool, error) { } func (d *EndUserDetail) CalculatePeriod() { + d.LastPeriodFlat = d.LastPeriodOverall.Sub(d.LastPeriodCritical).Sub(d.LastPeriodPeak).Sub(d.LastPeriodValley) d.CurrentPeriodFlat = d.CurrentPeriodOverall.Sub(d.CurrentPeriodCritical).Sub(d.CurrentPeriodPeak).Sub(d.CurrentPeriodValley) d.Overall = decimal.NewNullDecimal(d.CurrentPeriodOverall.Sub(d.LastPeriodOverall).Mul(d.Ratio).Add(d.AdjustOverall).RoundBank(2)) d.Critical = decimal.NewNullDecimal(d.CurrentPeriodCritical.Sub(d.LastPeriodCritical).Mul(d.Ratio).Add(d.AdjustCritical).RoundBank(2)) diff --git a/service/end_user.go b/service/end_user.go index b417d67..96ae9b6 100644 --- a/service/end_user.go +++ b/service/end_user.go @@ -210,6 +210,10 @@ func (es _EndUserService) BatchImportNonPVRegister(reportId string, file io.Read }); has { if appears.Appears <= 1 { elem.LastPeriodOverall = im.LastPeriodOverall + elem.LastPeriodCritical = decimal.Zero + elem.LastPeriodPeak = decimal.Zero + elem.LastPeriodValley = decimal.Zero + elem.LastPeriodFlat = elem.LastPeriodOverall.Sub(elem.LastPeriodCritical).Sub(elem.LastPeriodPeak).Sub(elem.LastPeriodValley) elem.Initialize = true } } @@ -303,6 +307,7 @@ func (es _EndUserService) BatchImportPVRegister(reportId string, file io.Reader) elem.LastPeriodCritical = im.LastPeriodCritical.Decimal elem.LastPeriodPeak = im.LastPeriodPeak.Decimal elem.LastPeriodValley = im.LastPeriodValley.Decimal + elem.LastPeriodFlat = elem.LastPeriodOverall.Sub(elem.LastPeriodCritical).Sub(elem.LastPeriodPeak).Sub(elem.LastPeriodValley) elem.Initialize = true } }