From 8c546e869f979f6f9e83d141cb8b767da6472d66 Mon Sep 17 00:00:00 2001
From: lazhen <17772815105@139.com>
Date: 星期二, 15 十月 2024 16:53:46 +0800
Subject: [PATCH] Merge branch 'dev' of http://47.101.211.7:10101/r/VWED into dev-zlg

---
 _Main/BL/Type_LocalTool/StaticMethod_BatchSetUnitShiftPattern.qbl |   34 ++++++++++++++++++++++++++++++----
 1 files changed, 30 insertions(+), 4 deletions(-)

diff --git a/_Main/BL/Type_LocalTool/StaticMethod_BatchSetUnitShiftPattern.qbl b/_Main/BL/Type_LocalTool/StaticMethod_BatchSetUnitShiftPattern.qbl
index b53b40e..31bd0a7 100644
--- a/_Main/BL/Type_LocalTool/StaticMethod_BatchSetUnitShiftPattern.qbl
+++ b/_Main/BL/Type_LocalTool/StaticMethod_BatchSetUnitShiftPattern.qbl
@@ -5,13 +5,39 @@
   ShiftPattern shiftPattern,
   Date startDate,
   Date endDate,
-  Numbers weekdays
+  Numbers weekdays,
+  Number skipWeek
 )
 {
   TextBody:
   [*
     // Akari Oct-10-2024 (created)
     owner := unit.MacroPlan();
+    
+    saveDays := construct( Dates );
+    flag := startDate.StartOfNextWeek();
+    for( i := startDate; i<endDate; i := i + 1 ){
+      if( i < flag ){
+        saveDays.Add( i ); 
+      }else{
+        temp := skipWeek - 1;
+        while( temp > 0 ){
+          i := flag;
+          flag := i.StartOfNextWeek();
+          temp--;
+          
+          info( i.Format( "Y-M2-D2") );
+          info( flag.Format( "Y-M2-D2") );
+        }
+      }
+    }
+    
+    info( "----------------------------");
+    
+    traverse( saveDays,Elements,element ){
+      info( element.Format( "Y-M2-D2")); 
+    }
+    
     dayPeriod_MPs := selectsortedset( owner,Period_MP,period_MP, 
                                       period_MP.TimeUnit() = 'Day' and 
                                       period_MP.StartDate() >= startDate and 
@@ -21,16 +47,16 @@
                                        period_MP.StartDate() >= startDate and 
                                        period_MP.EndDate() <= endDate and exists( weekdays, Elements,dayOfWeek,dayOfWeek = period_MP.StartDate().DayOfWeek() ),period_MP.StartDate());
     
+    
     if( dayPeriod_MPs.Size() > 0 ){
-      unitPeriodTimes := selectset( unit,UnitPeriod.astype( UnitPeriodTime ),unitPeriodTime,exists( dayPeriod_MPs,Elements,period_MP,period_MP = unitPeriodTime.Period_MP()) and not isnull( unitPeriodTime.UnitAvailability()));
+      unitPeriodTimes := selectset( unit,UnitPeriod.astype( UnitPeriodTime ),unitPeriodTime,exists( dayPeriod_MPs,Elements,period_MP,period_MP = unitPeriodTime.Period_MP()));
       if( unitPeriodTimes.Size() > 0 ){
         LocalTool::SetUnitShiftPattern( owner,unitPeriodTimes,shiftPattern );
       }
-      
     }
     if( weekPeriod_MPs.Size() <> 0 ){
       traverse( weekPeriod_MPs,Elements,period_MP ){
-        unitPeriodTimes := selectset( unit,UnitPeriod.astype( UnitPeriodTime ),unitPeriodTime,period_MP = unitPeriodTime.Period_MP() and not isnull( unitPeriodTime.UnitAvailability()));
+        unitPeriodTimes := selectset( unit,UnitPeriod.astype( UnitPeriodTime ),unitPeriodTime,period_MP = unitPeriodTime.Period_MP());
         if( unitPeriodTimes.Size() > 0 ){
           LocalTool::SetUnitShiftPattern( owner,unitPeriodTimes,shiftPattern );
         }

--
Gitblit v1.9.3