From f9c8e9e3438d19dc7a3ee087b631dbe593663112 Mon Sep 17 00:00:00 2001 From: lazhen <17772815105@139.com> Date: 星期三, 09 十月 2024 11:34:43 +0800 Subject: [PATCH] 机加管线报表的数据bug --- _Main/BL/Type_EnginePipelineReport/Method_GenerateColumn.qbl | 32 ++++++++++++++++++++------------ 1 files changed, 20 insertions(+), 12 deletions(-) diff --git a/_Main/BL/Type_EnginePipelineReport/Method_GenerateColumn.qbl b/_Main/BL/Type_EnginePipelineReport/Method_GenerateColumn.qbl index c4e150b..f579568 100644 --- a/_Main/BL/Type_EnginePipelineReport/Method_GenerateColumn.qbl +++ b/_Main/BL/Type_EnginePipelineReport/Method_GenerateColumn.qbl @@ -10,21 +10,29 @@ TextBody: [* // 鐢勫叞楦� Jun-25-2024 (created) + startofplanning := owner.StartOfPlanning(); + startofyear := startofplanning.StartOfYear().Date(); + startofendyear := startofplanning.StartOfNextYear().Date(); //鏌ヨ鏃ユ湡杩斿洖闇�瑕佸湪璁″垝鏃ユ湡涔嬪唴 - weekstart := owner.StartOfPlanning().Date(); - traverse( owner, Period_MP, period, not period.IsHistorical() and period.TimeUnit() = Translations::MP_GlobalParameters_Day() ){ - if( timeunit = 'All' or timeunit = Translations::MP_GlobalParameters_Day() ){ - periodtime := period.StartDate(); - periodname := periodtime.Format( "M2/D2/Y" ); - - this.Column( relnew, Name := periodname, StartDate := periodtime, EndDate := periodtime, TimeUnit := Translations::MP_GlobalParameters_Day() ); + if( startdate < startofendyear and enddate > startofyear ){ + if( startdate < startofyear ){ + startdate := startofyear; } - + if( enddate > startofendyear ){ + enddate := startofendyear; + } + if( timeunit = 'All' or timeunit = Translations::MP_GlobalParameters_Day() ){ + for( start := startdate; start <= enddate; start := start.DateTime().StartOfNextDay().Date() ){ + periodname := start.Format( "M2/D2/Y" ); + this.Column( relnew, Name := periodname, StartDate := start, EndDate := start, TimeUnit := Translations::MP_GlobalParameters_Day() ); + } + } if( timeunit = 'All' or timeunit = Translations::MP_GlobalParameters_Week() ){ - if( period.StartDate() = weekstart ){ - weekperiodname := weekstart.Format( "M2/D2/Y" ); - this.Column( relnew, Name := weekperiodname, StartDate := weekstart, EndDate := ( weekstart + Duration::Days( 6 ) ).Date(), TimeUnit := Translations::MP_GlobalParameters_Week() ); - weekstart := ( weekstart + Duration::Days( 7 ) ).Date(); + for( start := startdate; start <= enddate; start := start.StartOfNextWeek() ){ + periodname := start.Format( "M2/D2/Y" ); + weekend := ( start.StartOfNextWeek() - Duration::Days( 1 ) ).Date(); + + this.Column( relnew, Name := periodname, StartDate := start, EndDate := weekend, TimeUnit := Translations::MP_GlobalParameters_Week() ); } } } -- Gitblit v1.9.3