xiaoding721
2024-05-29 5a32cdfbc1d42594eb3fc7621dbd9024cda46ea5
PP Budget
已添加2个文件
已修改7个文件
127 ■■■■ 文件已修改
_Main/BL/Type_Archive/StaticMethod_Archive.qbl 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Archive/StaticMethod_HandlePPA_Curve_IDS.qbl 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Archive/StaticMethod_HandlePR.qbl 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Archive/StaticMethod_OnException.qbl 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Archive/StaticMethod_RequirementProcessing.qbl 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Archive/StaticMethod_Success.qbl 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Archive/StaticMethod_WriteTempFile.qbl 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_ArchivePPA/Attribute_SourceFileBinaryValue.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Method_OnOK.def 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Archive/StaticMethod_Archive.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,53 @@
Quintiq file version 2.0
#parent: #root
StaticMethod Archive (
  JSON respJSON,
  Archive archive,
  String archiveType
)
{
  TextBody:
  [*
    code             := respJSON.Get( "code" ).GetNumber();
    archiveFileJSONs := respJSON.Get( "archiveFiles" );
    info( archiveFileJSONs.AsString() );
    if ( code = 200 ) {
      for ( i := 0; i < archiveFileJSONs.Size(); i++ ) {
        archiveFileJSON := archiveFileJSONs.Get( i );
        fileName        := archiveFileJSON.Get( "fileName" ).GetString();
        filePath        := archiveFileJSON.Get( "fileFullPath" ).GetString();
        if ( archiveType = "PR" ) {
          apr := select( archive, ArchivePR, tempAPR, tempAPR.Name() = fileName );
          if ( not isnull( apr ) ) {
            apr.FilePath( filePath );
          } else {
            archive.ArchivePR( relnew, Name := fileName, FilePath := filePath );
          }
        } else if ( archiveType = "PP" ) {
          app := select( archive, ArchivePP, tempAPP, tempAPP.Name() = fileName );
          if ( not isnull( app ) ) {
            app.FilePath( filePath );
          } else {
            archive.ArchivePP( relnew, Name := fileName, FilePath := filePath );
          }
        } else if ( archiveType = "Budget" ) {
          ab := select( archive, ArchiveBudget, tempAB, tempAB.Name() = fileName );
          if ( not isnull( ab ) ) {
            ab.FilePath( filePath );
          } else {
            archive.ArchiveBudget( relnew, Name := fileName, FilePath := filePath );
          }
        } else if ( archiveType = "PPA" ) {
          appa := select( archive, ArchivePPA, tempAPPA, tempAPPA.Name() = fileName );
          if ( not isnull( appa ) ) {
            appa.FilePath( filePath );
          } else {
            archive.ArchivePPA( relnew, Name := fileName, FilePath := filePath );
          }
        }
      }
    }
  *]
}
_Main/BL/Type_Archive/StaticMethod_HandlePPA_Curve_IDS.qbl
@@ -11,8 +11,9 @@
  BinaryValue curveBinaryValue,
  String idsFileName,
  BinaryValue idsBinaryValue,
  String filePath
)
  String filePath,
  Boolean isOverwriteFile
) as stream[JSON]
{
  TextBody:
  [*
@@ -20,13 +21,18 @@
    pathPPA   := filePath + ppaFileName;
    pathCurve := filePath + curveFileName;
    pathIDS   := filePath + idsFileName;
    //isArchive := ifexpr( isPRArchive, "true", "false" );
    info( pathPPA );
    info( pathCurve );
    isArchivePPA  := ifexpr( isPPAArchive, "true", "false" );
    isOverridePPA := ifexpr( isOverwriteFile, "true", "false" );
    minorKey  := [String]macroPlan.MDSID().MinorKey();
    json      := JSON::Object()
                 .Add( "pathPPA", pathPPA )
                     .Add( "isArchivePPA", isArchivePPA )
                 .Add( "pathCurve", pathCurve )
                 .Add( "pathIDS", pathIDS )
                 .Add( "minorKey", minorKey ).Build().AsString();
                     .Add( "minorKey", minorKey )
                     .Add( "isOverridePPA", isOverridePPA ).Build().AsString();
    
    // å†™å…¥ä¸´æ—¶æ–‡ä»¶
    Archive::WriteTempFile( pathPPA, ppaBinaryValue );
@@ -36,17 +42,20 @@
    info( json );
    
    // è°ƒç”¨æŽ¥å£
    //url := "/PR/Import";
    //i := HTTPInterface::Create( archive.JavaInterfaceAddress(), archive.JavaInterfacePort() );
    //i.URL( url );
    //i.PostMethod( true );
    //
    //try {
    //  i.Call( json );
    //
    //  htmlresult := i.Result();
    //} onerror {
    //
    //}
    url := "/IDSPPACurve/Import";
    i := HTTPInterface::Create( archive.JavaInterfaceAddress(), archive.JavaInterfacePort() );
    i.URL( url );
    i.PostMethod( true );
    i.MediaType( "application/json" );
    i.TimeOut( Duration::Minutes( 5 ) );
    i.Call( json );
    htmlresult := i.Result();
    respJSON   := JSON::Parse( htmlresult );
    return emit( respJSON );
  *]
}
_Main/BL/Type_Archive/StaticMethod_HandlePR.qbl
@@ -17,12 +17,12 @@
    pathPR     := filePath + prFileName;
    isArchive  := ifexpr( isPRArchive, "true", "false" );
    isOverride := ifexpr( isOverwriteFile, "true", "false" );
    minorKey   := [String]macroPlan.MDSID().MinorKey();
    macroPlanKey := [String]macroPlan.MDSID().MinorKey();
    json       := JSON::Object()
                  .Add( "pathPR", pathPR )
                  .Add( "isArchive", isArchive )
                  .Add( "isOverride", isOverride )
                  .Add( "minorKey", minorKey ).Build().AsString();
                    .Add( "minorKey", macroPlanKey ).Build().AsString();
    
    // å†™å…¥ä¸´æ—¶æ–‡ä»¶
    Archive::WriteTempFile( pathPR, prBinaryValue );
_Main/BL/Type_Archive/StaticMethod_OnException.qbl
@@ -8,6 +8,9 @@
{
  TextBody:
  [*
    // æ¸…空临时数据库
    archiveExecutionStatus.AES_TemporaryDemandData().Source().FlatQuery( "truncate table A_Forecasts" );
    archiveExecutionStatus.RequirementImportExecutionStatus( relnew, 
                                                             ExecutionCode        := 500,
                                                             ExecutionIsSuccess   := false,
_Main/BL/Type_Archive/StaticMethod_RequirementProcessing.qbl
@@ -38,20 +38,27 @@
    if ( prBinaryValue.Size() > 0 ) {
      archive -> Archive::HandlePR( macroPlan, userName, prFileName, prBinaryValue, isPRArchive, filePath, isOverwriteFile ) 
              -> Archive::Success( macroPlan, archiveExecutionStatus, userName ) 
              -> Archive::Archive( archive, "PR" )
              -> Exception() 
              -> Archive::OnException( archiveExecutionStatus, userName );
    } else if ( ppBinaryValue.Size() > 0 ) {
      archive -> Archive::HandlePP( macroPlan, userName, ppFileName, ppBinaryValue, isPPArchive, filePath, isOverwriteFile ) 
              -> Archive::Success( macroPlan, archiveExecutionStatus, userName ) 
              -> Archive::Archive( archive, "PP" )
              -> Exception() 
              -> Archive::OnException( archiveExecutionStatus, userName );
    } else if ( budgetBinaryValue.Size() > 0 ) {
      archive -> Archive::HandleBudget( macroPlan, userName, budgetFileName, budgetBinaryValue, isBudgetArchive, filePath, isOverwriteFile ) 
              -> Archive::Success( macroPlan, archiveExecutionStatus, userName ) 
              -> Archive::Archive( archive, "Budget" )
              -> Exception() 
              -> Archive::OnException( archiveExecutionStatus, userName );
    } else {
      Archive::HandlePPA_Curve_IDS( archive, macroPlan, userName, ppaFileName, ppaBinaryValue, isPPAArchive, curveFileName, curveBinaryValue, idsFileName, idsBinaryValue, filePath );
      archive -> Archive::HandlePPA_Curve_IDS( macroPlan, userName, ppaFileName, ppaBinaryValue, isPPAArchive, curveFileName, curveBinaryValue, idsFileName, idsBinaryValue, filePath, isOverwriteFile )
              -> Archive::Success( macroPlan, archiveExecutionStatus, userName )
              -> Archive::Archive( archive, "PPA" )
              -> Exception()
              -> Archive::OnException( archiveExecutionStatus, userName );
    }
  *]
}
_Main/BL/Type_Archive/StaticMethod_Success.qbl
@@ -5,7 +5,7 @@
  MacroPlan macroPlan,
  ArchiveExecutionStatus archiveExecutionStatus,
  String userName
)
) as stream[JSON]
{
  TextBody:
  [*
@@ -27,5 +27,7 @@
    } else {
      RequirementImportExecutionStatus::Create( archiveExecutionStatus, code, "Complete", userName, message, false );
    }
    return emit( respJSON );
  *]
}
_Main/BL/Type_Archive/StaticMethod_WriteTempFile.qbl
@@ -7,11 +7,13 @@
{
  TextBody:
  [*
    if ( binaryValue.Size() > 0 ) {
    file := OSFile::Construct();
    
    file.Open( filePath, "Write", false );
    file.WriteBinary( binaryValue );
    
    file.Close();
    }
  *]
}
_Main/BL/Type_ArchivePPA/Attribute_SourceFileBinaryValue.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute SourceFileBinaryValue
{
  #keys: '3[414996.0.408054600][414996.0.408054599][414996.0.408054601]'
  ValueType: BinaryValue
}
_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Method_OnOK.def
@@ -11,8 +11,8 @@
                                    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(),
                                    ifexpr( cPPAPPAArchiveEnable.Checked(), ddlPPAArchive.Data().Name(), efCurve.Text() ), guard( dhBinaryDataPPA.Data().AsBinaryValue(), BinaryValue::Construct( 0 ) ), cPPA.Checked(),
                                    efCurve.Text()                                                                       , guard( dhBinaryDataCurve.Data().AsBinaryValue(), BinaryValue::Construct( 0 ) ),
                                    dhOriginalFileNamePPA.Data()                                                         , guard( dhBinaryDataPPA.Data().AsBinaryValue(), BinaryValue::Construct( 0 ) ), cPPA.Checked(),
                                    dhOriginalFileNameCurve.Data()                                                       , guard( dhBinaryDataCurve.Data().AsBinaryValue(), BinaryValue::Construct( 0 ) ),
                                    efIDS.Text()                                                                         , guard( dhBinaryDataIDS.Data().AsBinaryValue(), BinaryValue::Construct( 0 ) ),
                                    false );