From 07b96c69aebc192eb13de6950c255ef4e3f1fcc4 Mon Sep 17 00:00:00 2001
From: lazhen <17772815105@139.com>
Date: 星期三, 24 七月 2024 14:04:19 +0800
Subject: [PATCH] 批量界面新增结果同标准功能有异
---
Calendars/BL/Relations/Relation_LibCal_ExplicitTimeInterval_LeadingETI_LibCal_ExplicitTimeInterval_.qbl | 1
_Main/BL/Type_InterfaceLoginfo/StaticMethod_CallToken.qbl | 3 +
Calendars/BL/Type_LibCal_Participation/Method_CreateTimeInterval.qbl | 1
_Main/BL/Type_LibCal_Event/StaticMethod_CreateUpdateFromUI.qbl | 81 +++++++++++++++-------------------------
Calendars/BL/Type_LibCal_LeadingParticipation/Method_AddSubscribers.qbl | 1
5 files changed, 32 insertions(+), 55 deletions(-)
diff --git a/Calendars/BL/Relations/Relation_LibCal_ExplicitTimeInterval_LeadingETI_LibCal_ExplicitTimeInterval_.qbl b/Calendars/BL/Relations/Relation_LibCal_ExplicitTimeInterval_LeadingETI_LibCal_ExplicitTimeInterval_.qbl
index cbcdcd6..d8bde91 100644
--- a/Calendars/BL/Relations/Relation_LibCal_ExplicitTimeInterval_LeadingETI_LibCal_ExplicitTimeInterval_.qbl
+++ b/Calendars/BL/Relations/Relation_LibCal_ExplicitTimeInterval_LeadingETI_LibCal_ExplicitTimeInterval_.qbl
@@ -12,7 +12,6 @@
Cardinality: '0to1'
ObjectDefinition: LibCal_ExplicitTimeInterval
OwningSide: 'Reference'
- InterfaceProperties { Accessibility: 'Module' }
}
RelationSide.RightSide SubscribingETI
{
diff --git a/Calendars/BL/Type_LibCal_LeadingParticipation/Method_AddSubscribers.qbl b/Calendars/BL/Type_LibCal_LeadingParticipation/Method_AddSubscribers.qbl
index f4cb80f..3b07e04 100644
--- a/Calendars/BL/Type_LibCal_LeadingParticipation/Method_AddSubscribers.qbl
+++ b/Calendars/BL/Type_LibCal_LeadingParticipation/Method_AddSubscribers.qbl
@@ -14,5 +14,4 @@
this.AddSubscriber( subscriber, useLeadingPeriod_i );
}
*]
- InterfaceProperties { Accessibility: 'Module' }
}
diff --git a/Calendars/BL/Type_LibCal_Participation/Method_CreateTimeInterval.qbl b/Calendars/BL/Type_LibCal_Participation/Method_CreateTimeInterval.qbl
index 17e54df..462efa6 100644
--- a/Calendars/BL/Type_LibCal_Participation/Method_CreateTimeInterval.qbl
+++ b/Calendars/BL/Type_LibCal_Participation/Method_CreateTimeInterval.qbl
@@ -19,5 +19,4 @@
return timeInterval;
*]
- InterfaceProperties { Accessibility: 'Module' }
}
diff --git a/_Main/BL/Type_InterfaceLoginfo/StaticMethod_CallToken.qbl b/_Main/BL/Type_InterfaceLoginfo/StaticMethod_CallToken.qbl
index 864c257..a29e443 100644
--- a/_Main/BL/Type_InterfaceLoginfo/StaticMethod_CallToken.qbl
+++ b/_Main/BL/Type_InterfaceLoginfo/StaticMethod_CallToken.qbl
@@ -10,11 +10,12 @@
httpinterface.URL( Translations::InterfaceDataset_Token_URL() );
httpinterface.MediaType( Translations::InterfaceDataset_ContentType() );
+ httpinterface.PostMethod( false );
httpinterface.Call();
result := httpinterface.Result();
resultJson := JSON::Parse( result );
- token := resultJson.Get( "access_token" ).AsString();
+ token := resultJson.Get( "access_token" ).GetString();
return token;
*]
diff --git a/_Main/BL/Type_LibCal_Event/StaticMethod_CreateUpdateFromUI.qbl b/_Main/BL/Type_LibCal_Event/StaticMethod_CreateUpdateFromUI.qbl
index 55d6ee0..91342d6 100644
--- a/_Main/BL/Type_LibCal_Event/StaticMethod_CreateUpdateFromUI.qbl
+++ b/_Main/BL/Type_LibCal_Event/StaticMethod_CreateUpdateFromUI.qbl
@@ -41,61 +41,40 @@
TextBody:
[*
//浜嬩欢鍒涘缓浜屽紑鏂规硶
- //info( startDate_i, startTimeOfDay_i, endDate_i, endTimeOfDay_i, isAllDay_i, recurrenceInterval_i, patternType_i
- // , patternDaily_IsEveryWeekday_i, periodType_i, periodStartDate_i, nrOfOccurrences_i, periodEndDate_i );
- //鏌ヨ鏄惁宸叉湁鍚屽悕浜嬩欢
+ //鏌ヨ鏄惁宸叉湁鍚屽悕鍦ㄦ壒閲忕晫闈㈠垱寤虹殑浜嬩欢s
event := selectobject( owner_i, Event, event, event.Subject() = subject_i
- and event.EventType() = eventtype_i
- and ( event.LeadingParticipation().EndDate() - event.LeadingParticipation().StartDate() ) = ( endDate_i - startDate_i )
- and event.StartTimeOfDay() = startTimeOfDay_i
- and event.EndTimeOfDay() = endTimeOfDay_i );
- //event := selectobject( owner_i, Event.LeadingParticipation, lp, lp.Event().Subject() = subject_i
- // and lp.Event().EventType() = eventtype_i
- // and ( lp.EndDate() - lp.StartDate() ) = ( endDate_i - startDate_i )
- // and lp.Event().StartTimeOfDay() = startTimeOfDay_i
- // and lp.Event().EndTimeOfDay() = endTimeOfDay_i );
+ and event.EventType() = eventtype_i );
//鍙湁閫氳繃鎵归噺鍒涘缓鐣岄潰涓斿凡鏈夊悓鍚嶄簨浠惰繘鍏ヤ笅闈㈡搷浣�
if( ismultiple and not isnull( event ) ){
- startdate := startDate_i;
- enddate := startDate_i;
- dates := construct( Dates );
- dates.Add( startDate_i );
- //鑾峰彇鏃т簨浠剁殑寮�濮嬩簨浠跺拰缁撴潫浜嬩欢锛屼互鍙婃墍鏈夋椂闂寸偣
- traverse( event, Participation.ExplicitTimeInterval, eti ){
- if( startdate > eti.Start().Date() ){
- startdate := eti.Start().Date();
- }
- if( enddate < eti.Start().Date() ) {
- enddate := eti.Start().Date();
- }
- if( not exists( dates, Elements, e, e = eti.Start().Date() ) ){
- dates.Add( eti.Start().Date() );
- }
+ lp := event.LeadingParticipation();
+ timezone := lp.Calendar().GetTimeZone();
+ starttime := startDate_i.DateTime( timezone ).AddAsPeriod( timezone, startTimeOfDay_i );
+ endtime := endDate_i.DateTime( timezone ).AddAsPeriod( timezone, endTimeOfDay_i );
+ // startDate := starttime.Date( timezone );
+ // endDate := endtime.Date( timezone ) - ifexpr( endtime = endtime.StartOfDay( timezone ), 1, 0 );
+ lp.AddSubscribers( subscribers_i, true );;
+ leadingETI := selectobject( lp, ExplicitTimeInterval, eti, eti.Start() = starttime and eti.End() = endtime );
+ if( isnull( leadingETI ) ){
+ leadingETI := lp.CreateTimeInterval( starttime, endtime, event.Capacity() );
}
- //淇敼鏃т簨浠剁殑闂撮殧
- nrOfOccurrences_i := enddate - startdate + 1;
- startDate_i := startdate;
- endDate_i := ( event.LeadingParticipation().EndDate() - event.LeadingParticipation().StartDate() + startDate_i );
- periodStartDate_i := startdate;
- periodEndDate_i := enddate;
- // info( startDate_i, startTimeOfDay_i, endDate_i, endTimeOfDay_i, isAllDay_i, recurrenceInterval_i, patternType_i
- // , patternDaily_IsEveryWeekday_i, periodType_i, periodStartDate_i, nrOfOccurrences_i, periodEndDate_i );
- event := LibCal_Event::CreateUpdateFromUI( owner_i, event.LeadingParticipation(), subject_i, description_i, type_i, capacity_i, category_i, isDefault_i,
- startDate_i, startTimeOfDay_i, endDate_i, endTimeOfDay_i, isAllDay_i,
- isRecurring_i, recurrenceInterval_i,
- patternType_i, patternDaily_IsEveryWeekday_i, patternWeekly_Weekdays_i,
- patternMonthly_IsDay_i, patternMonthly_Day_i, patternMonthly_WeekOfMonth_i, patternMonthly_DayOfWeek_i,
- patternYearly_IsDate_i, patternYearly_Month_i, patternYearly_Day_i, patternYearly_WeekOfMonth_i, patternYearly_DayOfWeek_i,
- periodType_i, periodStartDate_i, nrOfOccurrences_i, periodEndDate_i, subscribers_i );
- //鍒犳帀涓嶉渶瑕佺殑鏃堕棿鐐�
- timeIntervals := construct( LibCal_ExplicitTimeIntervals );
- traverse( event, Participation.ExplicitTimeInterval, eti ){
- // info( '------------------------------', eti.Start(), eti.End(), exists( dates, Elements, e, e = eti.Start().Date() ), '------------------', dates.Find( eti.Start().Date() ) );
- if( dates.Find( eti.Start().Date() ) < 0 ){
- timeIntervals.Add( eti );
- }
- }
- LibCal_ExplicitTimeInterval::Delete( timeIntervals, true );
+ // info( '-----------------------2-----------------', lp.ExplicitTimeInterval( relsize ) );
+ // if( not isnull( leadingETI ) ){
+ // traverse( lp, Subscription, subscription, subscribers_i.Find( subscription.Calendar() ) >= 0 and
+ // startDate <= subscription.Calendar().EndDate() and
+ // endDate >= subscription.Calendar().StartDate() and
+ // ( isnull( subscription.RecurrencePeriod() ) or
+ // ( startDate <= subscription.RecurrencePeriod().EndDate() and
+ // endDate >= subscription.RecurrencePeriod().StartDate() ) ) ){
+ // info( '-----------------------1-----------------', subscription.ExplicitTimeInterval( relsize ) );
+ // subscribingETI := subscription.CreateTimeInterval( starttime, endtime, event.Capacity() );
+ //
+ // if( not isnull( subscribingETI ) ){
+ // subscribingETI.LeadingETI( relset, leadingETI );
+ // }
+ // info( '-----------------------4-----------------', subscription.ExplicitTimeInterval( relsize ) );
+ // }
+ // }
+ // info( '-----------------------3-----------------', lp.ExplicitTimeInterval( relsize ) );
} else {
event := LibCal_Event::CreateUpdateFromUI( owner_i, participation_i, subject_i, description_i, type_i, capacity_i, category_i, isDefault_i,
startDate_i, startTimeOfDay_i, endDate_i, endTimeOfDay_i, isAllDay_i,
--
Gitblit v1.9.3