From 5ef75578a391f6be4e118a7482fa7e23ab3f65c5 Mon Sep 17 00:00:00 2001
From: lazhen <17772815105@139.com>
Date: 星期五, 26 七月 2024 15:46:39 +0800
Subject: [PATCH] 批量不可用事件新增时间日期不在计划周期内的需要提示“该日期不在计划周期内!”

---
 _Main/BL/InfoMessages.qbl                                                                                       |    4 ++++
 _Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Response_PanelHeader_144_ButtonCreate_OnClick.def |    4 ++++
 _Main/BL/Type_LibCal_Event/StaticMethod_ValidDate.qbl                                                           |   26 ++++++++++++++++++++++++++
 3 files changed, 34 insertions(+), 0 deletions(-)

diff --git a/_Main/BL/InfoMessages.qbl b/_Main/BL/InfoMessages.qbl
index 6f487f3..9e8ee99 100644
--- a/_Main/BL/InfoMessages.qbl
+++ b/_Main/BL/InfoMessages.qbl
@@ -206,6 +206,10 @@
   {
     DefaultText: 'This date is not within the planned cycle!'
   }
+  InfoMessage MP_LibCal_Event_ValidDatePeriod
+  {
+    DefaultText: 'The start date must be less than the end date!'
+  }
   InfoMessage MP_Routing_IllegalDateRange
   {
     DefaultText: 'The start date cannot be longer than the end date.'
diff --git a/_Main/BL/Type_LibCal_Event/StaticMethod_ValidDate.qbl b/_Main/BL/Type_LibCal_Event/StaticMethod_ValidDate.qbl
new file mode 100644
index 0000000..5b0cd8e
--- /dev/null
+++ b/_Main/BL/Type_LibCal_Event/StaticMethod_ValidDate.qbl
@@ -0,0 +1,26 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod ValidDate (
+  output String feedback_o,
+  MacroPlan owner,
+  DateTime startdate,
+  DateTime endtime
+) declarative remote as Boolean
+{
+  TextBody:
+  [*
+    // 鐢勫叞楦� Jul-26-2024 (created)
+    feedback_o := '';
+    if( startdate > endtime ){
+      feedback_o := Translations::MP_LibCal_Event_ValidDatePeriod();
+    }
+    
+    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();
+    }
+    return feedback_o = '';
+  *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Response_PanelHeader_144_ButtonCreate_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Response_PanelHeader_144_ButtonCreate_OnClick.def
index 2490324..910c38b 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Response_PanelHeader_144_ButtonCreate_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Response_PanelHeader_144_ButtonCreate_OnClick.def
@@ -6,6 +6,10 @@
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebButton_OnClick'
   GroupServerCalls: true
+  Precondition:
+  [*
+    return LibCal_Event::ValidDate( feedback, MacroPlan, dhStartDate.Data() + durStartTimeOfDay.Duration(), dhEndDate.Data() + durEndTimeOfDay.Duration() );
+  *]
   QuillAction
   {
     Body:

--
Gitblit v1.9.3