lihongji
2024-05-27 6d3afbb413ae163ac9cd68ae210adf979af9e7fd
需求导入优化
已添加9个文件
已修改6个文件
已删除2个文件
204 ■■■■ 文件已修改
_Main/BL/Dataset_ArchiveExecutionStatus/_ROOT_Dataset_ArchiveExecutionStatus.qbl 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_RequirementImportExecutionStatus_ArchiveExecutionStatus_ArchiveExec.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_RequirementImportExecutionStatus_Archive_Archive_RequirementImportE.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Archive/StaticMethod_HandlePR.qbl 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Archive/StaticMethod_OnException.qbl 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Archive/StaticMethod_RequirementProcessing.qbl 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Archive/StaticMethod_Success.qbl 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_ArchiveExecutionStatus/StaticMethod_OnServerStartup.qbl 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_ArchiveExecutionStatus/_ROOT_Type_ArchiveExecutionStatus.qbl 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_DMF_CustomLogic/Method_OnFinished.qbl 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_RequirementImportExecutionStatus/Attribute_ExecutionIsSuccess.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_RequirementImportExecutionStatus/Method_Filter.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_abgRequirementPreprocessing.def 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_abgRequirementPreprocessing_deRequirementImportExecuti.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_abgRequirementPreprocessing_dhRequirementImportExecuti.def 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_abgRequirementPreprocessing_dhUserName_OnCreated.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Method_OnOK.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Dataset_ArchiveExecutionStatus/_ROOT_Dataset_ArchiveExecutionStatus.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,9 @@
Quintiq file version 2.0
#root
#parent: #DomainModel
Dataset ArchiveExecutionStatus
{
  #keys: '2[413988.0.1210041499][413988.0.1210041498]'
  DefaultMDSName: 'ArchiveExecutionStatus'
  InstanceType: ArchiveExecutionStatus
}
_Main/BL/Relations/Relation_RequirementImportExecutionStatus_ArchiveExecutionStatus_ArchiveExec.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
Relation RequirementImportExecutionStatus_ArchiveExecutionStatus_ArchiveExecutionStatus_RequirementImportExecutionStatus
{
  #keys: '1[413988.0.1210041505]'
  DefaultRelationStrategy
  {
  }
  RelationSide.LeftSide ArchiveExecutionStatus
  {
    #keys: '3[413988.0.1210041507][413988.0.1210041506][413988.0.1210041508]'
    Cardinality: '0to1'
    ObjectDefinition: RequirementImportExecutionStatus
    OwningSide: 'Reference'
  }
  RelationSide.RightSide RequirementImportExecutionStatus
  {
    #keys: '3[413988.0.1210041510][413988.0.1210041509][413988.0.1210041511]'
    Cardinality: '1toN'
    ObjectDefinition: ArchiveExecutionStatus
    OwningSide: 'Owned'
  }
}
_Main/BL/Relations/Relation_RequirementImportExecutionStatus_Archive_Archive_RequirementImportE.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_Archive/StaticMethod_HandlePR.qbl
@@ -25,7 +25,11 @@
    Archive::WriteTempFile( pathPR, prBinaryValue );
    
    info( json );
    for ( i := 0; i < 10000; i++ ) {
      for ( j := 0; j < 20000; j++ ) {
        info( i + j );
      }
    }
    // è°ƒç”¨æŽ¥å£
    url := "/PR/Import";
    
_Main/BL/Type_Archive/StaticMethod_OnException.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
Quintiq file version 2.0
#parent: #root
StaticMethod OnException (
  Exception e,
  ArchiveExecutionStatus archiveExecutionStatus,
  String userName
)
{
  TextBody:
  [*
    archiveExecutionStatus.RequirementImportExecutionStatus( relnew,
                                                             ExecutionStatus      := "Complete",
                                                             ExecutionUserName    := userName,
                                                             ExecutionRespMessage := e.Message(),
                                                             ExecutionIsSuccess   := false );
  *]
}
_Main/BL/Type_Archive/StaticMethod_RequirementProcessing.qbl
@@ -2,6 +2,7 @@
#parent: #root
StaticMethod RequirementProcessing (
  Archive archive,
  ArchiveExecutionStatus archiveExecutionStatus,
  MacroPlan macroPlan,
  String userName,
  String prFileName,
@@ -28,12 +29,12 @@
    OS::CreateDirectory( filePath );
    
    // åˆ›å»ºæ‰§è¡ŒçŠ¶æ€
    archive.RequirementImportExecutionStatus( relnew,
    archiveExecutionStatus.RequirementImportExecutionStatus( relnew,
                                              ExecutionStatus    := "InProgress",
                                              ExecutionUserName  := userName );
    
    if ( prBinaryValue.Size() > 0 ) {
      archive -> Archive::HandlePR( macroPlan, userName, prFileName, prBinaryValue, isPRArchive, filePath );
      archive -> Archive::HandlePR( macroPlan, userName, prFileName, prBinaryValue, isPRArchive, filePath ) ->Archive::Success() -> Exception() -> Archive::OnException( archiveExecutionStatus, userName );
    } else if ( ppBinaryValue.Size() > 0 ) {
      Archive::HandlePP( archive, macroPlan, userName, ppFileName, ppBinaryValue, isPPArchive, filePath );
    } else if ( budgetBinaryValue.Size() > 0 ) {
_Main/BL/Type_Archive/StaticMethod_Success.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,9 @@
Quintiq file version 2.0
#parent: #root
StaticMethod Success
{
  TextBody:
  [*
    // lihongji May-25-2024 (created)
  *]
}
_Main/BL/Type_ArchiveExecutionStatus/StaticMethod_OnServerStartup.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
Quintiq file version 2.0
#parent: #root
StaticMethod OnServerStartup
{
  TextBody:
  [*
    // lihongji May-15-2024 (created)
    folder := DomainModel::Domain().MDSFolderDefinitions().FindFolder( "/root" );
    datasetName := typeof( ArchiveExecutionStatus ).Name();
    oinfo := MDSEditor::Editor().ObjectInfos( datasetName, folder.FolderID(), datasetName );
    o := select( oinfo, Elements, o, not o.IsLoaded() );
    emptydataset := isnull( o );
    if ( emptydataset ) {
      MDSArchiveExecutionStatus::CreateMDS( datasetName, DMF_Utility::StorageState_MemoryOnly() );
    }
  *]
}
_Main/BL/Type_ArchiveExecutionStatus/_ROOT_Type_ArchiveExecutionStatus.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,9 @@
Quintiq file version 2.0
#root
#parent: #DomainModel
Type ArchiveExecutionStatus
{
  #keys: '5[413988.0.1210041495][413988.0.1210041493][0.0.0][413988.0.1210041494][413988.0.1210041496]'
  BaseType: Object
  StructuredName: 'ArchiveExecutionStatuss'
}
_Main/BL/Type_DMF_CustomLogic/Method_OnFinished.qbl
@@ -15,6 +15,9 @@
    // åˆ›å»ºå­˜æ¡£æ•°æ®é›†
    Archive::OnServerStartup();
    
    // åˆ›å»ºå­˜æ¡£çŠ¶æ€æ•°æ®é›†
    ArchiveExecutionStatus::OnServerStartup();
    // Create MPDomainHandler
    MPDomainHandler::OnServerStartup();
    
_Main/BL/Type_RequirementImportExecutionStatus/Attribute_ExecutionIsSuccess.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute ExecutionIsSuccess
{
  #keys: '3[413988.0.1207255621][413988.0.1207255620][413988.0.1207255622]'
  ValueType: Boolean
}
_Main/BL/Type_RequirementImportExecutionStatus/Method_Filter.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Method Filter (
  String userName
) declarative remote as Boolean
{
  TextBody: 'return this.ExecutionUserName() = userName;'
}
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_abgRequirementPreprocessing.def
@@ -44,10 +44,8 @@
          BaseType: 'WebDataExtractor'
          Properties:
          [
            DataType: 'Archive'
            FilterArguments: 'userName:QLibMacroPlannerWebUI::ApplicationMacroPlanner.ActionBarMacroPlanner.dhUserName'
            FixedFilter: 'object.ExecutionUserName() = userName'
            Source: 'Archive'
            DataType: 'ArchiveExecutionStatus'
            Source: 'ArchiveExecutionStatus'
            Taborder: 0
            Transformation: 'RequirementImportExecutionStatus'
          ]
@@ -56,16 +54,6 @@
      Properties:
      [
        Taborder: 2
      ]
    }
    Component dhUserName
    {
      #keys: '[414996.0.387620508]'
      BaseType: 'WebDataHolder'
      Databinding: 'String*'
      Properties:
      [
        Taborder: 3
      ]
    }
  ]
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_abgRequirementPreprocessing_deRequirementImportExecuti.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
#parent: abgRequirementPreprocessing/deRequirementImportExecutionStatus
Response OnCreated () id:Response_MacroPlanner_abgRequirementPreprocessing_deRequirementImportExecutionStatus_OnCreated
{
  #keys: '[413988.0.1211520534]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebComponent_OnCreated'
  QuillAction
  {
    Body:
    [*
      this.FixedFilter( "object.Filter( '" + ApplicationMacroPlanner.GetUserName() + "' )" );
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_abgRequirementPreprocessing_dhRequirementImportExecuti.def
@@ -10,7 +10,21 @@
    Body:
    [*
      if ( not isnull( this.Data() ) ) {
        ries := this.Data();
        
        info( "执行用户:", this.Data().ExecutionUserName(), "    æ‰§è¡ŒçŠ¶æ€ï¼š", this.Data().ExecutionUserName(), "    æ‰§è¡Œæ¶ˆæ¯ï¼š", this.Data().ExecutionRespMessage() );
        if ( ries.ExecutionIsSuccess() ) {
        } else {
          if ( ries.ExecutionStatus() = "InProgress" ) {
            bRequirementUpload.Image( "APPLICATION_STOP" );
          } else if ( ries.ExecutionStatus() = "Complete" ) {
            bRequirementUpload.Image( "FLASH" );
          }
        }
        this.Data().Delete();
      }
    *]
    GroupServerCalls: false
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_abgRequirementPreprocessing_dhUserName_OnCreated.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Method_OnOK.def
@@ -7,7 +7,7 @@
  [*
    Form.ApplyChanges();
         
    Archive::RequirementProcessing( Archive, MacroPlan, ApplicationMacroPlanner.GetUserName(),
    Archive::RequirementProcessing( Archive, ArchiveExecutionStatus, MacroPlan, ApplicationMacroPlanner.GetUserName(),
                                    efPR.Text()                                                                          , guard( dhBinaryDataPR.Data().AsBinaryValue(), BinaryValue::Construct( 0 ) ), cPR.Checked(),
                                    efPP.Text()                                                                          , guard( dhBinaryDataPP.Data().AsBinaryValue(), BinaryValue::Construct( 0 ) ), cPP.Checked(),
                                    efBudget.Text()                                                                      , guard( dhBinaryDataBudget.Data().AsBinaryValue(), BinaryValue::Construct( 0 ) ), cBudget.Checked(),