From 87a49b64c6dd45bb9801c7b6eb7c9d05924abbe6 Mon Sep 17 00:00:00 2001
From: lazhen <17772815105@139.com>
Date: 星期四, 29 八月 2024 16:19:40 +0800
Subject: [PATCH] 不可用日历事件批量创建日期格式处理

---
 _Main/BL/Type_LibCal_Event/StaticMethod_ValidDate.qbl                                                           |   25 ++++++++++++++++---------
 _Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Response_PanelCreate_ButtonCreate_OnClick#338.def |    2 +-
 2 files changed, 17 insertions(+), 10 deletions(-)

diff --git a/_Main/BL/Type_LibCal_Event/StaticMethod_ValidDate.qbl b/_Main/BL/Type_LibCal_Event/StaticMethod_ValidDate.qbl
index b96238b..b146f83 100644
--- a/_Main/BL/Type_LibCal_Event/StaticMethod_ValidDate.qbl
+++ b/_Main/BL/Type_LibCal_Event/StaticMethod_ValidDate.qbl
@@ -11,17 +11,24 @@
   [*
     // 鐢勫叞楦� Jul-26-2024 (created)
     feedback_o := '';
-    if( startdate > endtime ){
-      feedback_o := Translations::MP_LibCal_Event_ValidDatePeriod();
-    }
+    if( startdate.IsFinite() and endtime.IsFinite() ){
+      if( startdate > endtime ){
+        feedback_o := Translations::MP_LibCal_Event_ValidDatePeriod();
+      }
+      mindate      := owner.StartOfPlanning().Date();
+      maxdate      := maxobject( owner, Period_MP, period, not period.IsHistorical() and period.TimeUnit() = Translations::MP_GlobalParameters_Day() , period.StartDate() );
     
-    if( not exists( owner, Period_MP, period, not period.IsHistorical() 
-                and period.TimeUnit() = Translations::MP_GlobalParameters_Day() 
-                and period.StartDate() = startdate.Date() 
-                and ( period.EndDate() = endtime.Date() or period.StartDate() = endtime.Date() ) ) ){
-      feedback_o := Translations::MP_LibCal_Event_ValidDate();
+      if( startdate.Date() < mindate or endtime.Date() > maxdate.StartDate() ){
+        feedback_o := Translations::MP_LibCal_Event_ValidDate();
+      }
+    
+      if( ( endtime - startdate ).Days() > 1 ){
+        feedback_o := Translations::MP_LibCal_Event_ValidDateInterval();
+      }
+    
+    }else{
+      feedback_o := "鏃ユ湡闈炴硶";
     }
     return feedback_o = '';
-    //return true;
   *]
 }
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Response_PanelCreate_ButtonCreate_OnClick\043338.def" "b/_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Response_PanelCreate_ButtonCreate_OnClick\043338.def"
index 2ca351b..1c0872b 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Response_PanelCreate_ButtonCreate_OnClick\043338.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Response_PanelCreate_ButtonCreate_OnClick\043338.def"
@@ -5,7 +5,6 @@
   #keys: '[415136.0.1066371836]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebButton_OnClick'
-  GroupServerCalls: true
   Precondition:
   [*
     return LibCal_Event::ValidDate( feedback, MacroPlan, dhStartDate.Data() + durStartTimeOfDay.Duration(), dhEndDate.Data() + durEndTimeOfDay.Duration() );
@@ -16,5 +15,6 @@
     [*
       Form.OnOK();
     *]
+    GroupServerCalls: false
   }
 }

--
Gitblit v1.9.3