lazhen
2024-05-27 91868cd1ea7eeb00fb573b4ef7a128e988b7a330
批量维护产能占用事件新建成功
已修改7个文件
已添加7个文件
已删除6个文件
491 ■■■■ 文件已修改
_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Component_PanelHeader#144.def 78 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Component_PanelList.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Component_Panelleft#582.def 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Component_pnlDuration#119.def 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Method_CreateEvent#778.def 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Method_CreateUpdateEventAndParticipation.def 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Method_GetPatternType.def 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Method_InitializeCapacity.def 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Method_InitializeCategories.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Method_InitializeDuration.def 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Method_OnOK.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Method_SetParticipationData.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Method_ValuesDatesOK.def 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Method_ValuesEventOK.def 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Method_ValuesOK.def 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Response_PanelHeader_144_ButtonCreate_OnClick.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Response_PanelHeader_144_ddlCategory_OnCreated#969.def 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Response_PanelHeader_144_ddslType_OnSelectionChanged#613.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Response_lstSubscribers_537_OnCheckedChanged.def 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Response_pnlDuration_119_dhDuration_OnDataChanged.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Component_PanelHeader#144.def
@@ -38,7 +38,7 @@
        Label: 'Start time'
        MaxDuration: P0DT23H59M0S
        MinDuration: P0DT0H0M0S
        Taborder: 10
        Taborder: 7
      ]
    }
    Component dhStartTimeOfDay
@@ -48,7 +48,7 @@
      Databinding: 'Duration'
      Properties:
      [
        Taborder: 11
        Taborder: 8
      ]
    }
    Component durEndTimeOfDay
@@ -62,7 +62,7 @@
        Label: 'End time'
        MaxDuration: P0DT23H59M0S
        MinDuration: P0DT0H0M0S
        Taborder: 12
        Taborder: 9
      ]
    }
    Component dhEndTimeOfDay
@@ -72,7 +72,7 @@
      Databinding: 'Duration'
      Properties:
      [
        Taborder: 13
        Taborder: 10
      ]
    }
    Component edtDescription
@@ -87,7 +87,7 @@
        Multiline: true
        NumberOfColumns: 29
        ShowLabel: false
        Taborder: 16
        Taborder: 12
      ]
    }
    Component dsStartDate
@@ -98,7 +98,7 @@
      [
        DateFormat: 'DMMY'
        Label: 'Date'
        Taborder: 8
        Taborder: 5
      ]
    }
    Component dhStartDate
@@ -108,7 +108,7 @@
      Databinding: 'Date'
      Properties:
      [
        Taborder: 9
        Taborder: 6
      ]
    }
    Component lblDescription id:lblDescription_456
@@ -119,7 +119,7 @@
      [
        Label: 'Description'
        NumberOfColumns: 0
        Taborder: 15
        Taborder: 11
      ]
    }
    Component ButtonCreate
@@ -129,10 +129,9 @@
      Properties:
      [
        Label: '鏂板缓'
        Taborder: 17
        Taborder: 13
      ]
    }
    #child: pnlDuration_119
    Component ddslType id:ddslType_360
    {
      #keys: '[415136.0.646711730]'
@@ -145,61 +144,6 @@
        Sorting: 'none'
        Strings: 'Available;Unavailable'
        Taborder: 2
        Visible: false
      ]
    }
    Component edtCapacity id:edtCapacity_437
    {
      #keys: '[415136.0.646711783]'
      BaseType: 'WebEditField'
      Properties:
      [
        Label: 'Capacity'
        MaxRows: 1
        NumberOfColumns: 2
        Taborder: 3
        Visible: false
        WordWrap: false
      ]
    }
    Component dhCategories id:dhCategories_902
    {
      #keys: '[415136.0.646711860]'
      BaseType: 'WebDataHolder'
      Databinding: 'structured[LibCal_EventCategory]*'
      Properties:
      [
        Taborder: 4
      ]
    }
    Component ddlCategory id:ddlCategory_100
    {
      #keys: '[415136.0.646712012]'
      BaseType: 'WebDropDownList'
      Databinding: 'LibCal_EventCategory'
      Children:
      [
        Component deCategory id:deCategory_61
        {
          #keys: '[415136.0.646712013]'
          BaseType: 'WebDataExtractor'
          Properties:
          [
            DataType: 'structured[LibCal_EventCategory]'
            Source: 'dhCategories'
            Taborder: 0
            Transformation: 'Elements'
          ]
        }
      ]
      Properties:
      [
        DataBinding: 'dhEvent.Data.EventCategory'
        DisplayField: 'Name'
        NumberOfColumns: 15
        ShowLabel: false
        Taborder: 5
        Visible: false
      ]
    }
    Component ckbApplyToNewResources id:ckbApplyToNewResources_667
@@ -211,7 +155,7 @@
        DataBinding: 'dhEvent.Data.IsDefault'
        Label: 'Apply to new resources'
        NumberOfColumns: 0
        Taborder: 6
        Taborder: 3
        Tooltip: 'If checked, calendars of new resources will automatically subscribe to the event.'
        Visible: false
      ]
@@ -226,7 +170,7 @@
        NumberOfColumns: 0
        ShowLabel: false
        SizeRatio: 0
        Taborder: 7
        Taborder: 4
        Text: '<Timezone>'
        Visible: false
      ]
_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Component_PanelList.def
对比新文件
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component PanelList
{
  #keys: '[415136.0.654300441]'
  BaseType: 'WebPanel'
  Properties:
  [
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Component_Panelleft#582.def
@@ -6,6 +6,7 @@
  Children:
  [
    #child: PanelHeader_144
    #child: PanelList
  ]
  Properties:
  [
_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Component_pnlDuration#119.def
文件已删除
_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Method_CreateEvent#778.def
@@ -30,7 +30,7 @@
    {
      sEvent.Type( LibCal_Event::TYPE_PARTIAL() );
    }
    info( '------------------------------', category_i.Name(), sEvent.Type(), sEvent.EventCategory().Name() );
    // Set the Event and the related controls...
    // The values are explicitly assigned here 'at the beginning' to the controls,
    // so that the values can be used by the rest of the logic. Databinding is executed too late for that.
@@ -57,8 +57,8 @@
    
    // Initialize the category here, when done in the OnCreate() there is no selection in the DropDownList.
    // Select the general category for new events.
    this.InitializeCategories();
    ddlCategory.Data( owner_i.CalendarRegistry().GetGeneralEventCategory() );
    //this.InitializeCategories();
    //ddlCategory.Data( owner_i.CalendarRegistry().GetGeneralEventCategory() );
    
    // Must be done here, when done in the OnCreate() the checkmarks are not always set when the dialog is opened for editing an event.
    // Pre-select all resources as subscriber when creating a common event.
_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Method_CreateUpdateEventAndParticipation.def
对比新文件
@@ -0,0 +1,74 @@
Quintiq file version 2.0
#parent: #root
Method CreateUpdateEventAndParticipation () as LibCal_Event id:Method_LibCal_dlgMultipleEvent_CreateUpdateEventAndParticipation
{
  #keys: '[415136.0.649421703]'
  Body:
  [*
    sEvent    := dhEvent.Data();
    sLeadPart := dhLeadingParticipation.Data();
    // Get the values from the controls.
    // Event and LeadingParticipation
    subject        := edtName.Text();
    description    := edtDescription.Text();
    category       := sEvent.EventCategory();
    isDefault      := ckbApplyToNewResources.Checked();
    startDate      := dsStartDate.Date();
    startTimeOfDay := durStartTimeOfDay.Duration();
    endDate        := dsStartDate.Date();
    endTimeOfDay   := durEndTimeOfDay.Duration();
    isAllDay       := false;
    eventType := ddslType.Text();
    capacity  := Real::MinReal();  // Always fill the capacity.
    // RecurrencePattern
    isRecurring        := false;
    recurrenceInterval := 1;
    patternType        := LibCal_RecurrencePeriod::TYPE_WITHOUTEND();
    // Daily
    daily_IsEveryWeekday := false;
    // Weekly
    weekly_Weekdays := "";
    // Monthly
    monthly_IsDay       := false;
    monthly_Day         := 0;
    monthly_WeekOfMonth := '';
    monthly_DayOfWeek   := '';
    // Yearly
    yearly_IsDate      := false;
    //month              := '';
    yearly_Month       := 0;
    yearly_Day         := 0;
    yearly_WeekOfMonth := '';
    yearly_DayOfWeek   := '';
    // RecurrencePeriod
    periodType      := LibCal_RecurrencePeriod::TYPE_WITHOUTEND();
    periodStartDate := Date::MinDate();
    periodEndDate   := Date::MinDate();
    nrOfOccurrences := 0;
    // All values are passed to the Server, only the relevant values are used there.
    event := LibCal_Event::CreateUpdateFromUI( sEvent.Calendar(), sLeadPart.WrappedInstance(),
                                               subject, description, eventType, capacity, category, isDefault,
                                               startDate, startTimeOfDay, endDate, endTimeOfDay, isAllDay,
                                               // RecurrencePattern
                                               isRecurring, recurrenceInterval, patternType,
                                               daily_IsEveryWeekday,
                                               weekly_Weekdays,
                                               monthly_IsDay, monthly_Day,  monthly_WeekOfMonth, monthly_DayOfWeek,
                                               yearly_IsDate, yearly_Month, yearly_Day, yearly_WeekOfMonth, yearly_DayOfWeek,
                                               // RecurrencePeriod
                                               periodType, periodStartDate, nrOfOccurrences, periodEndDate,
                                               // Subscribers
                                               dhSubscribers.Data() );
    return event;
  *]
}
_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Method_GetPatternType.def
文件已删除
_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Method_InitializeCapacity.def
@@ -16,7 +16,7 @@
    
    event     := dhEvent.Data();
    eventType := event.Type();
    info( '------------------------------', eventType );
    // See if the eventType can be used as is or if it should be converted first.
    if( useParticalCapacity )
    {
@@ -45,5 +45,6 @@
    
      ddslType.Text( eventType );
    }
    info( '------------------------------', ddslType.Text() );
  *]
}
_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Method_InitializeCategories.def
文件已删除
_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Method_InitializeDuration.def
文件已删除
_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Method_OnOK.def
@@ -1,8 +1,6 @@
Quintiq file version 2.0
#parent: #root
Method OnOK (
  structured[LibCal_Calendar] subscribers_i
) id:Method_LibCal_dlgMultipleEvent_OnOK
Method OnOK () id:Method_LibCal_dlgMultipleEvent_OnOK
{
  #keys: '[415136.0.647733138]'
  Body:
@@ -19,14 +17,14 @@
    //}
    
    // subscribers_i contains the calendars that are checked in the list with subscribers.
    subscribers := subscribers_i.Copy();
    dhSubscribers.Data( &subscribers );
    //subscribers := subscribers_i.Copy();
    //dhSubscribers.Data( &subscribers );
    
    // If the dialog was opened from dlgSubscription, update the data in that dialog.
    if( not isnull( dhdlgSubscription.Data() ) )
    {
      this.CallbackSubscriptionDialog();
    }
    //if( not isnull( dhdlgSubscription.Data() ) )
    //{
    //  this.CallbackSubscriptionDialog();
    //}
    
    // Effectuate the changes and close the form.
    Form.CreateUpdateEventAndParticipation();
_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Method_SetParticipationData.def
@@ -25,6 +25,6 @@
    dsStartDate.Date( startDate );
    
    // Directly initialize the Duration
    this.InitializeDuration();
    //this.InitializeDuration();
  *]
}
_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Method_ValuesDatesOK.def
对比新文件
@@ -0,0 +1,43 @@
Quintiq file version 2.0
#parent: #root
Method ValuesDatesOK () as Boolean id:Method_LibCal_dlgMultipleEvent_ValuesDatesOK
{
  #keys: '[415136.0.654351264]'
  Body:
  [*
    feedback := FeedbackObject::LocalFeedback();
    timezone := this.GetCalendarTimeZone();
    if( dsStartDate.Date().IsInfinite() )
    {
      feedback.AddHard( Translations::Event_InvalidStartDate() );
    }
    //if( dsEndDate.Date().IsInfinite() )
    //{
    //  feedback.AddHard( Translations::Event_InvalidEndDate() );
    //}
    if( feedback.IsAllowed() )
    {
      start := dsStartDate.Date().DateTime( timezone ).AddAsPeriod( timezone, durStartTimeOfDay.Duration() );
      end   := dsStartDate.Date().DateTime( timezone ).AddAsPeriod( timezone, durEndTimeOfDay  .Duration() );
      if( end <= start )
      {
        feedback.AddHard( Translations::Event_EndMustBeGreaterThanStart() );
      }
      // End must be greater than StartOfCalendar.
      startOfCalendar := dhEvent.Data().Calendar().Start();
      if( end <= startOfCalendar )
      {
        convOps := ConversionOptions::ISO();
        feedback.AddHard( Translations::Event_EndMustBeGreaterThanStartOfCalendar( end            .Format( Translations::DateTimeFormat(), convOps ),
                                                                                   startOfCalendar.Format( Translations::DateTimeFormat(), convOps ) ) );
      }
    }
    return feedback.IsAllowed();
  *]
}
_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Method_ValuesEventOK.def
对比新文件
@@ -0,0 +1,37 @@
Quintiq file version 2.0
#parent: #root
Method ValuesEventOK () as Boolean id:Method_LibCal_dlgMultipleEvent_ValuesEventOK
{
  #keys: '[415136.0.654351189]'
  Body:
  [*
    feedback := FeedbackObject::LocalFeedback();
    if( edtName.Text().TrimBoth() = "" )
    {
      feedback.AddHard( Translations::Event_NoSubject() );
    }
    //if( ddslType.Text() = LibCal_Event::TYPE_PARTIAL() )
    //{
    //  capacity := this.StringToReal( edtCapacity.Text() );
    //
    //  if( capacity <> Real::MinReal() )
    //  {
    //    // Check the value of the Real.
    //    if( capacity < 0.0 or  // cannot happen, because '-' is not accepted
    //        capacity > 1.0 )
    //    {                                                           // Format according to the applicable locale.
    //      feedback.AddHard( Translations::Event_CapacityMustBeBetween0and1( ( 0.0 ).Format( "N(Dec(1))" ),
    //                                                                        ( 1.0 ).Format( "N(Dec(1))" ) ) );
    //    }
    //  }
    //  else
    //  {
    //    feedback.AddHard( Translations::Event_InvalidCapacity() );
    //  }
    //}
    return feedback.IsAllowed();
  *]
}
_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Method_ValuesOK.def
对比新文件
@@ -0,0 +1,26 @@
Quintiq file version 2.0
#parent: #root
Method ValuesOK () as Boolean id:Method_LibCal_dlgMultipleEvent_ValuesOK
{
  #keys: '[415136.0.654351117]'
  Body:
  [*
    feedback := FeedbackObject::LocalFeedback();
    this.ValuesEventOK();
    // Only check for dates when the event is not recurring...
    //if( btnOnce.IsPressed() )
    //{
      this.ValuesDatesOK();
    //}
    //else  // ... otherwise check if the recurrence pattern and period are ok.
    //{
    //  this.ValuesRecurrenceOK();
    //  this.ValuesPeriodRangeOK();
    //}
    return feedback.IsAllowed();
  *]
}
_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Response_PanelHeader_144_ButtonCreate_OnClick.def
对比新文件
@@ -0,0 +1,16 @@
Quintiq file version 2.0
#parent: PanelHeader_144/ButtonCreate
Response OnClick () id:Response_PanelHeader_144_ButtonCreate_OnClick
{
  #keys: '[415136.0.654000146]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebButton_OnClick'
  GroupServerCalls: true
  QuillAction
  {
    Body:
    [*
      Form.OnOK();
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Response_PanelHeader_144_ddlCategory_OnCreated#969.def
文件已删除
_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Response_PanelHeader_144_ddslType_OnSelectionChanged#613.def
@@ -10,7 +10,7 @@
    Body:
    [*
      // Show the editfield for the capacity, if applicable.
      edtCapacity.Visible( selection = LibCal_Event::TYPE_PARTIAL() );
      //edtCapacity.Visible( selection = LibCal_Event::TYPE_PARTIAL() );
    *]
    GroupServerCalls: false
  }
_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Response_lstSubscribers_537_OnCheckedChanged.def
对比新文件
@@ -0,0 +1,20 @@
Quintiq file version 2.0
#parent: lstSubscribers_537
Response OnCheckedChanged (
  structured[LibCal_Calendar] checkeditems
) id:Response_lstSubscribers_537_OnCheckedChanged
{
  #keys: '[415136.0.654000327]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebList_OnCheckedChanged'
  QuillAction
  {
    Body:
    [*
      subscribers := checkeditems.Copy();
      dhSubscribers.Data( &subscribers );
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_LibCal_dlgMultipleEvent/Response_pnlDuration_119_dhDuration_OnDataChanged.def
文件已删除