admin
2024-08-27 7fa9d2c7f76651853d80ebe3726a7b7decad5a9f
导出
已添加2个文件
已修改1个文件
155 ■■■■■ 文件已修改
_Main/BL/Type_CC_EngineRackCell/StaticMethod_Export.qbl 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_pHeader.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Response_pHeader_bExport_OnClick.def 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CC_EngineRackCell/StaticMethod_Export.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,123 @@
Quintiq file version 2.0
#parent: #root
StaticMethod Export (
  MacroPlan macroPlan
) as BinaryValue
{
  TextBody:
  [*
    xmlDOMI      := XMLDOMImplementation::Create();
    xmlDOM       := xmlDOMI.CreateDocumentFromString( '<?xml version="1.0" encoding="UTF-16"?><table><name>Sheet1</name></table>' );
    tableElement := xmlDOM.GetElementByTagName( "table", 0 );
    // ç¬¬ä¸€åˆ—(名称)
    cerrs       := selectsortedset( macroPlan, CC_EngineRackRow, tempCERR, true, tempCERR.Name() );
    firstColumn := xmlDOM.CreateElement( "column" );
    firstName   := xmlDOM.CreateElement( "name" );
    firstType   := xmlDOM.CreateElement( "type" );
    firstName.TextContent( "" );
    firstType.TextContent( "String" );
    firstColumn.AppendChild( firstName );
    firstColumn.AppendChild( firstType );
    traverse ( cerrs, Elements, cerr ) {
      firstCell := xmlDOM.CreateElement( "cell" );
      firstCell.SetAttribute( "value", cerr.Name() );
      firstColumn.AppendChild( firstCell );
      for ( i := 0; i < 9; i++ ) {
        firstCell := xmlDOM.CreateElement( "cell" );
        firstCell.SetAttribute( "value", "" );
        firstColumn.AppendChild( firstCell );
      }
    }
    tableElement.AppendChild( firstColumn );
    // ç¬¬äºŒåˆ—
    attrs        := construct( Strings ); attrs.Add( "料架空数量" ); attrs.Add( "空料架数量" ); attrs.Add( "外租库入库费用" ); attrs.Add( "外租库出库费用" ); attrs.Add( "外租库运输费用" );
                                          attrs.Add( "外租库仓储费用" ); attrs.Add( "清洗费用" ); attrs.Add( "预计总费用" ); attrs.Add( "系数" ); attrs.Add( "总费用" );
    secondColumn := xmlDOM.CreateElement( "column" );
    secondName   := xmlDOM.CreateElement( "name" );
    secondType   := xmlDOM.CreateElement( "type" );
    secondName.TextContent( "" );
    secondType.TextContent( "String" );
    secondColumn.AppendChild( secondName );
    secondColumn.AppendChild( secondType );
    for ( i := 0; i < cerrs.Size(); i++ ) {
      traverse ( attrs, Elements, attr ) {
        secondCell := xmlDOM.CreateElement( "cell" );
        secondCell.SetAttribute( "value", attr );
        secondColumn.AppendChild( secondCell );
      }
    }
    tableElement.AppendChild( secondColumn );
    // æ—¶é—´åˆ—
    cercs := selectsortedset( macroPlan, CC_EngineRackColumn, tempCERC, true, tempCERC.StartDate() );
    traverse ( cercs, Elements, cerc ) {
      cellColumn := xmlDOM.CreateElement( "column" );
      cellName   := xmlDOM.CreateElement( "name" );
      cellType   := xmlDOM.CreateElement( "type" );
      cellName.TextContent( cerc.StartDate().Format( "M2/D2/Y" ) );
      cellType.TextContent( "Number" );
      cellColumn.AppendChild( cellName );
      cellColumn.AppendChild( cellType );
      cells := selectsortedset( cerc, CC_EngineRackCell, tempCELL, true, tempCELL.CC_EngineRackRow().Name() );
      traverse ( cells, Elements, c ) {
        cell := xmlDOM.CreateElement( "cell" );
        cell.SetAttribute( "value", [String]c.TotalQuantityOfMaterialRacks() ); // æ–™æž¶æ€»æ•°é‡
        cellColumn.AppendChild( cell );
        cell := xmlDOM.CreateElement( "cell" );
        cell.SetAttribute( "value", [String]c.NumberOfEmptyShelves() ); // ç©ºæ–™æž¶æ•°é‡
        cellColumn.AppendChild( cell );
        cell := xmlDOM.CreateElement( "cell" );
        cell.SetAttribute( "value", [String]c.StorageFeesForRentedWarehouses() ); // å¤–租库入库费用
        cellColumn.AppendChild( cell );
        cell := xmlDOM.CreateElement( "cell" );
        cell.SetAttribute( "value", [String]c.OutboundExpensesForRentedWarehouses() ); // å¤–租库出库费用
        cellColumn.AppendChild( cell );
        cell := xmlDOM.CreateElement( "cell" );
        cell.SetAttribute( "value", [String]c.ExternalRentalWarehouseTransportationCosts() ); // å¤–租库运输费用
        cellColumn.AppendChild( cell );
        cell := xmlDOM.CreateElement( "cell" );
        cell.SetAttribute( "value", [String]c.RentalWarehouseStorageFees() ); // å¤–租库仓储费用
        cellColumn.AppendChild( cell );
        cell := xmlDOM.CreateElement( "cell" );
        cell.SetAttribute( "value", [String]c.CleaningCost() ); // æ¸…洗费用
        cellColumn.AppendChild( cell );
        cell := xmlDOM.CreateElement( "cell" );
        cell.SetAttribute( "value", [String]c.EstimatedTotalCost() ); // é¢„计总费用
        cellColumn.AppendChild( cell );
        cell := xmlDOM.CreateElement( "cell" );
        cell.SetAttribute( "value", [String]c.Coefficient() ); // ç³»æ•°
        cellColumn.AppendChild( cell );
        cell := xmlDOM.CreateElement( "cell" );
        cell.SetAttribute( "value", [String]c.TotalCost() ); // æ€»è´¹ç”¨
        cellColumn.AppendChild( cell );
      }
      tableElement.AppendChild( cellColumn );
    }
    xmlString := xmlDOMI.CreateSerializer().WriteToString( xmlDOM )
    //info( xmlString );
    tableGroupHandle := TableGroupHandle::Create( "Sheet1" );
    tableHandle      := TableHandle::ImportXML( BinaryValue::Construct( xmlString ) );
    tableGroupHandle.Add( tableHandle );
    binaryData := XLS::SaveTableGroupToBinaryData( tableGroupHandle, true );
    return binaryData.AsBinaryValue();
  *]
}
_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_pHeader.def
@@ -15,6 +15,16 @@
        Taborder: 0
      ]
    }
    Component bExport
    {
      #keys: '[415754.0.151340681]'
      BaseType: 'WebButton'
      Properties:
      [
        Image: 'EXPORT1'
        Taborder: 1
      ]
    }
  ]
  Properties:
  [
_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Response_pHeader_bExport_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
Quintiq file version 2.0
#parent: pHeader/bExport
Response OnClick () id:Response_pHeader_bExport_OnClick
{
  #keys: '[415754.0.151312042]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebButton_OnClick'
  Precondition:
  [*
    return not isnull( MacroPlan );
  *]
  QuillAction
  {
    Body:
    [*
      binaryValue := CC_EngineRackCell::Export( MacroPlan );
      Application.Download( "长春发动机料架报表.xlsx", binaryValue.AsBinaryData() );
    *]
    GroupServerCalls: false
  }
}