From b02a3586a97064c94087c0e3ca2eac36cd9d9b42 Mon Sep 17 00:00:00 2001
From: lazhen <17772815105@139.com>
Date: 星期一, 21 十月 2024 17:36:04 +0800
Subject: [PATCH] 库存汇总报表导出格式修改

---
 _Main/BL/Type_InventorySummarySource/StaticMethod_Download.qbl |   93 +++++++++++++++++-----------------------------
 1 files changed, 35 insertions(+), 58 deletions(-)

diff --git a/_Main/BL/Type_InventorySummarySource/StaticMethod_Download.qbl b/_Main/BL/Type_InventorySummarySource/StaticMethod_Download.qbl
index d18d397..72cd244 100644
--- a/_Main/BL/Type_InventorySummarySource/StaticMethod_Download.qbl
+++ b/_Main/BL/Type_InventorySummarySource/StaticMethod_Download.qbl
@@ -1,84 +1,61 @@
 Quintiq file version 2.0
 #parent: #root
 StaticMethod Download (
-  MacroPlan macroPlan,
-  Factorys factorys,
-  ProductGenerations generations,
-  ProductPowers powers,
-  ProductMLBMQBs mlbmqls,
-  InventorySummarySearch search
+  MacroPlan macroPlan
 ) as BinaryValue
 {
   Description: '涓嬭浇璐㈠姟鎶ヨ〃鏁版嵁'
   TextBody:
   [*
     //鑾峰彇鏌ヨ琛屾暟
-    searchrowsize               := InventorySummarySource::GetSearchRows( factorys, generations, powers, mlbmqls );
     table                       := selectobject( macroPlan, InventorySummarySource.InventorySummaryReport, table, table.IsShow() );
     
     xmlDOMI                     := XMLDOMImplementation::Create();
     xmlDOM                      := xmlDOMI.CreateDocumentFromString( '<?xml version="1.0" encoding="UTF-16"?><table><name>' + table.Name() + '</name></table>' );
     
     tableElement                := xmlDOM.GetElementByTagName( "table", 0 );
-    //Product/Unit
-    factoryvalues               := selectuniquevalues( factorys, Elements, factory, factory.Name() );
-    productcolumnelement        := InventorySummarySource::CreateColumnElement( tableElement, xmlDOM, factoryvalues, 'Unit', searchrowsize );
-    InventorySummarySource::CreateCellElement( xmlDOM, productcolumnelement, 'Product' );
-    //Unit/Generation
-    generationvalues            := selectuniquevalues( generations, Elements, generation, generation.Generation() );
-    unitcolumnelement           := InventorySummarySource::CreateColumnElement( tableElement, xmlDOM, generationvalues, 'Generation', searchrowsize );
-    InventorySummarySource::CreateCellElement( xmlDOM, unitcolumnelement, 'Unit' );
-    //Attribute/Power
-    powervalues                 := selectuniquevalues( powers, Elements, power, power.Power() );
-    attricolumnelement          := InventorySummarySource::CreateColumnElement( tableElement, xmlDOM, powervalues, 'Power', searchrowsize );
-    InventorySummarySource::CreateCellElement( xmlDOM, attricolumnelement, 'Attribute' );
+    //Factory
+    searchunitcolumn            := InventorySummarySource::CreateColumnElement( tableElement, xmlDOM, 'Unit' );
+    //Generation
+    generationcolumn            := InventorySummarySource::CreateColumnElement( tableElement, xmlDOM, 'Generation' );
+    //Power
+    powercolumn                 := InventorySummarySource::CreateColumnElement( tableElement, xmlDOM, 'Power' );
     //MLBMQBS
-    mlbmqbvalues                := selectuniquevalues( mlbmqls, Elements, mlbmqb, mlbmqb.MLBMQB() );
-    mlbmqlcolumnelement         := InventorySummarySource::CreateColumnElement( tableElement, xmlDOM, mlbmqbvalues, 'MLBMQB', searchrowsize );
-    //Start date
-    startcolumnelement          := InventorySummarySource::CreateColumnElement( tableElement, xmlDOM, search.StartDate().Format( 'M2/D2/Y' ), 'Start date', searchrowsize );
-    //End date
-    endcolumnelement            := InventorySummarySource::CreateColumnElement( tableElement, xmlDOM, search.EndDate().Format( 'M2/D2/Y' ), 'End date', searchrowsize );
-    //Period
-    periodcolumnelement         := InventorySummarySource::CreateColumnElement( tableElement, xmlDOM, search.Category(), 'Period', searchrowsize );
-    
-    searchcolumn                := 7 ;
-    rowsize                     := table.InventroySummaryRow( relsize ) * 4;
-    for( i := table.InventorySummaryColumn( relsize ); i < searchcolumn - 3; i := i + 1 ){
-      if( i = 0 ){
-        InventorySummarySource::CreateCellElement( xmlDOM, mlbmqlcolumnelement, '', rowsize );
-      }else if( i = 1 ){
-        InventorySummarySource::CreateCellElement( xmlDOM, startcolumnelement, '', rowsize );
-      }else if( i = 2 ){
-        InventorySummarySource::CreateCellElement( xmlDOM, endcolumnelement, '', rowsize );
-      }else if( i = 3 ){
-        InventorySummarySource::CreateCellElement( xmlDOM, periodcolumnelement, '', rowsize );
-      }
-    }
-    
+    mlbmqbcolumn                := InventorySummarySource::CreateColumnElement( tableElement, xmlDOM, 'MLBMQB' );
+    //Product
+    productcolumnelement        := InventorySummarySource::CreateColumnElement( tableElement, xmlDOM, 'Product' );
+    //Unit
+    unitcolumnelement           := InventorySummarySource::CreateColumnElement( tableElement, xmlDOM, 'Unit' );
+    //Attribute
+    attricolumnelement          := InventorySummarySource::CreateColumnElement( tableElement, xmlDOM, 'Attribute' );
     traverse ( table, InventorySummaryColumn, column ) {
-      columnelement             := null( XMLDOMElement ); 
-      if( column.Index() = 0 ){
-        columnelement           := mlbmqlcolumnelement;
-        InventorySummarySource::CreateCellElement( xmlDOM, mlbmqlcolumnelement, column.Name() );
-      }else if( column.Index() = 1 ){
-        columnelement           := startcolumnelement
-        InventorySummarySource::CreateCellElement( xmlDOM, startcolumnelement, column.Name() );
-      }else if( column.Index() = 2 ){
-        columnelement           := endcolumnelement;
-        InventorySummarySource::CreateCellElement( xmlDOM, endcolumnelement, column.Name() );
-      }else if( column.Index() = 3 ){
-        columnelement           := periodcolumnelement;
-        InventorySummarySource::CreateCellElement( xmlDOM, periodcolumnelement, column.Name() );
-      }else{
-        columnelement           := InventorySummarySource::CreateColumnElement( tableElement, xmlDOM, column.Name(), rowsize );
-      }
+      columnelement             := InventorySummarySource::CreateColumnElement( tableElement, xmlDOM, column.Name() );
       
       cells                     := selectsortedset( column, InventorySummaryCell, cell, cell.InventroySummaryRow().RowNr() );
     
       traverse ( cells, Elements, c ) {
         if( column.Index() = 0 ){
           row                   := c.InventroySummaryRow();
+          //Factory
+          InventorySummarySource::CreateCellElement( xmlDOM, searchunitcolumn, row.Factory() );
+          InventorySummarySource::CreateCellElement( xmlDOM, searchunitcolumn, row.Factory() );
+          InventorySummarySource::CreateCellElement( xmlDOM, searchunitcolumn, row.Factory() );
+          InventorySummarySource::CreateCellElement( xmlDOM, searchunitcolumn, row.Factory() );
+          //Generation
+          InventorySummarySource::CreateCellElement( xmlDOM, generationcolumn, row.Generation() );
+          InventorySummarySource::CreateCellElement( xmlDOM, generationcolumn, row.Generation() );
+          InventorySummarySource::CreateCellElement( xmlDOM, generationcolumn, row.Generation() );
+          InventorySummarySource::CreateCellElement( xmlDOM, generationcolumn, row.Generation() );
+          //Power
+          InventorySummarySource::CreateCellElement( xmlDOM, powercolumn, row.Power() );
+          InventorySummarySource::CreateCellElement( xmlDOM, powercolumn, row.Power() );
+          InventorySummarySource::CreateCellElement( xmlDOM, powercolumn, row.Power() );
+          InventorySummarySource::CreateCellElement( xmlDOM, powercolumn, row.Power() );
+          //MLBMQBS
+          InventorySummarySource::CreateCellElement( xmlDOM, mlbmqbcolumn, row.MLBMQB() );
+          InventorySummarySource::CreateCellElement( xmlDOM, mlbmqbcolumn, row.MLBMQB() );
+          InventorySummarySource::CreateCellElement( xmlDOM, mlbmqbcolumn, row.MLBMQB() );
+          InventorySummarySource::CreateCellElement( xmlDOM, mlbmqbcolumn, row.MLBMQB() );
           //Product
           InventorySummarySource::CreateCellElement( xmlDOM, productcolumnelement, row.Name() );
           InventorySummarySource::CreateCellElement( xmlDOM, productcolumnelement, row.Name() );

--
Gitblit v1.9.3