From 53ebeae81e7979c6b684b84367f3a866efe51a3c Mon Sep 17 00:00:00 2001
From: lazhen <17772815105@139.com>
Date: 星期三, 06 十一月 2024 18:29:29 +0800
Subject: [PATCH] 装配上线计划前端数据不显示bug

---
 _Main/BL/Type_AssemblyOnlinePlanVersion/Method_GenerateColumn.qbl |   49 ++++++++++++++++++++++++++++---------------------
 1 files changed, 28 insertions(+), 21 deletions(-)

diff --git a/_Main/BL/Type_AssemblyOnlinePlanVersion/Method_GenerateColumn.qbl b/_Main/BL/Type_AssemblyOnlinePlanVersion/Method_GenerateColumn.qbl
index b617de1..de6c29b 100644
--- a/_Main/BL/Type_AssemblyOnlinePlanVersion/Method_GenerateColumn.qbl
+++ b/_Main/BL/Type_AssemblyOnlinePlanVersion/Method_GenerateColumn.qbl
@@ -1,40 +1,47 @@
 Quintiq file version 2.0
 #parent: #root
 Method GenerateColumn (
-  Dates periods
+  Dates periods,
+  Boolean isshow
 )
 {
   TextBody:
   [*
     // 鐢勫叞楦� Jun-25-2024 (created)
+    timeunit              := guard( this.InterfaceDataset().AssemblyOnlinePlanVersionSearch().TimeUnit(), Translations::MP_GlobalParameters_Day() ) ;
     weekstart             := periods.Element( 0 );
     
     monthstart            := periods.Element( 0 );
     traverse( periods, Elements, periodtime ){
-      periodname          := periodtime.Format( "M2/D2/Y" );
-      
-      this.Column( relnew, ColumnName := periodname, StartDate := periodtime, EndDate := periodtime, TimeUnit := Translations::MP_GlobalParameters_Day() );
-      
-      weekend             := ( weekstart + Duration::Days( 6 ) ).Date();
-      if( ( weekend.Year() <> periodtime.Year() and weekend.Month() > 1 ) or ( abs( weekstart.Week() - periodtime.Week() ) > 1 and weekend.Year() = periodtime.Year() ) ){
-        weekstart         := periodtime;
-      }
-      if( periodtime = weekstart ){
-        weekperiodname    := weekstart.Format( "M2/D2/Y" );
-        this.Column( relnew, ColumnName := weekperiodname, StartDate := weekstart, EndDate := ( weekstart.StartOfNextWeek() - Duration::Days( 1 ) ).Date(), TimeUnit := Translations::MP_GlobalParameters_Week() );
+      if( not isshow or timeunit = Translations::MP_GlobalParameters_Day() ){
+        periodname        := periodtime.Format( "M2/D2/Y" );
         
+        this.Column( relnew, ColumnName := periodname, StartDate := periodtime, EndDate := periodtime, TimeUnit := Translations::MP_GlobalParameters_Day() );
       }
-      if( ( monthstart.Year() <> periodtime.Year() and abs( monthstart.Month() - periodtime.Month() ) <> 11 ) or ( abs( monthstart.Month() - periodtime.Month() ) > 1 and monthstart.Year() = periodtime.Year() ) ){
-        monthstart        := periodtime;
+      if( not isshow or timeunit = Translations::MP_GlobalParameters_Week() ){
+        weekend           := ( weekstart + Duration::Days( 6 ) ).Date();
+        if( ( weekend.Year() <> periodtime.Year() and weekend.Month() > 1 ) or ( abs( weekstart.Week() - periodtime.Week() ) > 1 and weekend.Year() = periodtime.Year() ) ){
+          weekstart       := periodtime;
+        }
+        if( periodtime = weekstart ){
+          weekperiodname  := weekstart.Format( "M2/D2/Y" );
+          this.Column( relnew, ColumnName := weekperiodname, StartDate := weekstart, EndDate := ( weekstart.StartOfNextWeek() - Duration::Days( 1 ) ).Date(), TimeUnit := Translations::MP_GlobalParameters_Week() );
+          
+        }
+        weekstart         := periodtime.StartOfNextWeek();
       }
-      if( periodtime = monthstart ){
-        monthperiodname   := monthstart.Format( "M2/D2/Y" );
-        enddate           := ( monthstart.StartOfNextMonth() - Duration::Days( 1 ) ).Date();
-        this.Column( relnew, ColumnName := monthperiodname, StartDate := monthstart, EndDate := enddate, TimeUnit := Translations::MP_GlobalParameters_Month() );
-        
+      if( not isshow or timeunit = Translations::MP_GlobalParameters_Month() ){
+        if( ( monthstart.Year() <> periodtime.Year() and abs( monthstart.Month() - periodtime.Month() ) <> 11 ) or ( abs( monthstart.Month() - periodtime.Month() ) > 1 and monthstart.Year() = periodtime.Year() ) ){
+          monthstart      := periodtime;
+        }
+        if( periodtime = monthstart ){
+          monthperiodname := monthstart.Format( "M2/D2/Y" );
+          enddate         := ( monthstart.StartOfNextMonth() - Duration::Days( 1 ) ).Date();
+          this.Column( relnew, ColumnName := monthperiodname, StartDate := monthstart, EndDate := enddate, TimeUnit := Translations::MP_GlobalParameters_Month() );
+          
+        }
+        monthstart        := periodtime.StartOfNextMonth();
       }
-      weekstart         := periodtime.StartOfNextWeek();
-      monthstart        := periodtime.StartOfNextMonth();
     }
   *]
 }

--
Gitblit v1.9.3