lazhen
2024-07-25 4c14ac5d77b8173311eb597ecf2572821e723d7b
批量不可用时间创建多出其他时间bug
已修改3个文件
51 ■■■■■ 文件已修改
_Main/BL/InfoMessages.qbl 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_InterfaceLoginfo/StaticMethod_CallInterface.qbl 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_LibCal_Event/StaticMethod_CreateUpdateFromUI.qbl 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/InfoMessages.qbl
@@ -90,6 +90,10 @@
  {
    DefaultText: 'Actual daily production data'
  }
  InfoMessage InterfaceDataset_ActualDailyProductionData_Secret
  {
    DefaultText: '527086842571391021'
  }
  InfoMessage InterfaceDataset_ActualDailyProductionData_URL
  {
    DefaultText: '/data-service/api/service/post-data/V1.101/e014325a6be14dab818303ef90c2968a'
_Main/BL/Type_InterfaceLoginfo/StaticMethod_CallInterface.qbl
@@ -45,26 +45,21 @@
        result := httpinterface.Result();
        loginfo.Response( result );
        loginfo.Success( true );
      }
    }onerror{
      loginfo.ReturnMsg( e.GeneralInformation() );
    }
    if( loginfo.Name() = Translations::InterfaceDataset_ActualDailyProductionData_Name() ){//生产实际数据
      httpinterface.URL( Translations::InterfaceDataset_ActualDailyProductionData_URL() );
      httpinterface.MediaType( Translations::InterfaceDataset_ContentType() );
      httpinterface.PostMethod( true );
      try{
        httpinterface.AddHeader("Authorization",InterfaceLoginfo::CallToken())
      } else if( loginfo.Name() = Translations::InterfaceDataset_ActualDailyProductionData_Name() ){//生产实际数据
        httpinterface.URL( Translations::InterfaceDataset_ActualDailyProductionData_URL() );
        httpinterface.MediaType( Translations::InterfaceDataset_ContentType() );
        httpinterface.PostMethod( true );
        httpinterface.AddHeader("Authorization",InterfaceLoginfo::CallToken( Translations::InterfaceDataset_ActualDailyProductionData_Secret() ))
        
        httpinterface.Call( loginfo.RequestBody() );
        
        result := httpinterface.Result();
        loginfo.Response( result );
        loginfo.Success( true );
      }onerror{
        loginfo.ReturnMsg( e.GeneralInformation() );
      }
    }onerror{
      loginfo.ReturnMsg( e.GeneralInformation() );
    }
    
    //后续公共处理
_Main/BL/Type_LibCal_Event/StaticMethod_CreateUpdateFromUI.qbl
@@ -44,7 +44,7 @@
    //查询是否已有同名在批量界面创建的事件s
    event := selectobject( owner_i, Event, event, event.Subject() = subject_i 
                           and event.EventType() = eventtype_i );
    info( '-------------', not isnull( event ), ismultiple );
    //只有通过批量创建界面且已有同名事件进入下面操作
    if( ismultiple and not isnull( event ) ){
      lp        := event.LeadingParticipation();
@@ -59,23 +59,13 @@
        leadingETI := lp.CreateTimeInterval( starttime, endtime, event.Capacity() );
      }
    //  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 ) );
      if( not isnull( leadingETI ) ){
        traverse( lp, Subscription, subscription, subscribers_i.Find( subscription.Calendar() ) >= 0 ){
          traverse( subscription, ExplicitTimeInterval, eti, not ( eti.Start() = starttime and eti.End() = endtime ) ){
            eti.Delete();
          }
        }
      }
    } 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,