From 9e7f6bf445c0cc04a2626596a6f2ee7b80f51ee6 Mon Sep 17 00:00:00 2001
From: lazhen <17772815105@139.com>
Date: 星期五, 18 十月 2024 21:03:54 +0800
Subject: [PATCH] 库存汇总下载查询条件位置调整
---
_Main/BL/Type_InventorySummarySource/StaticMethod_Download.qbl | 235 +++++++++++++++++-----------------------------------------
1 files changed, 68 insertions(+), 167 deletions(-)
diff --git a/_Main/BL/Type_InventorySummarySource/StaticMethod_Download.qbl b/_Main/BL/Type_InventorySummarySource/StaticMethod_Download.qbl
index c989643..d18d397 100644
--- a/_Main/BL/Type_InventorySummarySource/StaticMethod_Download.qbl
+++ b/_Main/BL/Type_InventorySummarySource/StaticMethod_Download.qbl
@@ -12,116 +12,67 @@
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 );
- //Search
- searchcolumnelement := xmlDOM.CreateElement( "column" );
- searchnameelement := xmlDOM.CreateElement( "name" );
- searchtypeelement := xmlDOM.CreateElement( "type" );
- searchnameelement.TextContent( 'Search' );
- searchtypeelement.TextContent( "String" );
- searchcolumnelement.AppendChild( searchnameelement );
- searchcolumnelement.AppendChild( searchtypeelement );
- //Product
- productcolumnelement := xmlDOM.CreateElement( "column" );
- productnameelement := xmlDOM.CreateElement( "name" );
- producttypeelement := xmlDOM.CreateElement( "type" );
- productnameelement.TextContent( 'Product' );
- producttypeelement.TextContent( "String" );
- productcolumnelement.AppendChild( productnameelement );
- productcolumnelement.AppendChild( producttypeelement );
- //Unit
- unitcolumnelement := xmlDOM.CreateElement( "column" );
- unitnameelement := xmlDOM.CreateElement( "name" );
- unittypeelement := xmlDOM.CreateElement( "type" );
- unitnameelement.TextContent( 'Unit' );
- unittypeelement.TextContent( "String" );
- unitcolumnelement.AppendChild( unitnameelement );
- unitcolumnelement.AppendChild( unittypeelement );
- //Attribute
- attricolumnelement := xmlDOM.CreateElement( "column" );
- attrinameelement := xmlDOM.CreateElement( "name" );
- attritypeelement := xmlDOM.CreateElement( "type" );
- attrinameelement.TextContent( 'Attribute' );
- attritypeelement.TextContent( "String" );
- attricolumnelement.AppendChild( attrinameelement );
- attricolumnelement.AppendChild( attritypeelement );
+ //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' );
+ //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 );
- tableElement.AppendChild( searchcolumnelement );
- tableElement.AppendChild( productcolumnelement );
- tableElement.AppendChild( unitcolumnelement );
- tableElement.AppendChild( attricolumnelement );
- searchtotal := factorys.Size() + generations.Size() + powers.Size() + mlbmqls.Size() + 10 ;
- searchunitElement := xmlDOM.CreateElement( "cell" );
- searchunitElement.SetAttribute( "value", 'Unit' );
- searchcolumnelement.AppendChild( searchunitElement );
- traverse( factorys, Elements, factory ){
- searchunitcellElement := xmlDOM.CreateElement( "cell" );
- searchunitcellElement.SetAttribute( "value", factory.Name() );
- searchcolumnelement.AppendChild( searchunitcellElement );
- }
- searchgenerationElement := xmlDOM.CreateElement( "cell" );
- searchgenerationElement.SetAttribute( "value", 'Generation' );
- searchcolumnelement.AppendChild( searchgenerationElement );
- traverse( generations, Elements, generation ){
- generationcellElement := xmlDOM.CreateElement( "cell" );
- generationcellElement.SetAttribute( "value", generation.Generation() );
- searchcolumnelement.AppendChild( generationcellElement );
- }
- searchpowerElement := xmlDOM.CreateElement( "cell" );
- searchpowerElement.SetAttribute( "value", 'Power' );
- searchcolumnelement.AppendChild( searchpowerElement );
- traverse( powers, Elements, power ){
- searchpowercellElement := xmlDOM.CreateElement( "cell" );
- searchpowercellElement.SetAttribute( "value", power.Power() );
- searchcolumnelement.AppendChild( searchpowercellElement );
- }
- searchmlbmqlElement := xmlDOM.CreateElement( "cell" );
- searchmlbmqlElement.SetAttribute( "value", 'MQBMLB' );
- searchcolumnelement.AppendChild( searchmlbmqlElement );
- traverse( mlbmqls, Elements, mlbmql ){
- searchmlbmqlcellElement := xmlDOM.CreateElement( "cell" );
- searchmlbmqlcellElement.SetAttribute( "value", mlbmql.MLBMQB() );
- searchcolumnelement.AppendChild( searchmlbmqlcellElement );
- }
- searchstartdateElement := xmlDOM.CreateElement( "cell" );
- searchstartdateElement.SetAttribute( "value", 'Start date' );
- searchcolumnelement.AppendChild( searchstartdateElement );
- searchstartdatecellElement := xmlDOM.CreateElement( "cell" );
- searchstartdatecellElement.SetAttribute( "value", search.StartDate().Format( 'M2/D2/Y' ) );
- searchcolumnelement.AppendChild( searchstartdatecellElement );
- searchenddateElement := xmlDOM.CreateElement( "cell" );
- searchenddateElement.SetAttribute( "value", 'End date' );
- searchcolumnelement.AppendChild( searchenddateElement );
- searchenddatecellElement := xmlDOM.CreateElement( "cell" );
- searchenddatecellElement.SetAttribute( "value", search.EndDate().Format( 'M2/D2/Y' ) );
- searchcolumnelement.AppendChild( searchenddatecellElement );
- searchperiodElement := xmlDOM.CreateElement( "cell" );
- searchperiodElement.SetAttribute( "value", 'Periods' );
- searchcolumnelement.AppendChild( searchperiodElement );
- searchperiodcellElement := xmlDOM.CreateElement( "cell" );
- searchperiodcellElement.SetAttribute( "value", search.Category() );
- searchcolumnelement.AppendChild( searchperiodcellElement );
-
- for( i := searchtotal; i < table.InventroySummaryRow( relsize ) * 4; i := i + 1 ){
- searchcellElement := xmlDOM.CreateElement( "cell" );
- searchcellElement.SetAttribute( "value", '' );
- searchcolumnelement.AppendChild( searchcellElement );
+ 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 );
+ }
}
traverse ( table, InventorySummaryColumn, column ) {
- columnelement := xmlDOM.CreateElement( "column" );
- nameelement := xmlDOM.CreateElement( "name" );
- typeelement := xmlDOM.CreateElement( "type" );
- nameelement.TextContent( column.Name() );
- typeelement.TextContent( "String" );
- columnelement.AppendChild( nameelement );
- columnelement.AppendChild( typeelement );
+ 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 );
+ }
cells := selectsortedset( column, InventorySummaryCell, cell, cell.InventroySummaryRow().RowNr() );
@@ -129,86 +80,36 @@
if( column.Index() = 0 ){
row := c.InventroySummaryRow();
//Product
- productcellElement1 := xmlDOM.CreateElement( "cell" );
- productcellElement1.SetAttribute( "value", row.Name() );
- productcolumnelement.AppendChild( productcellElement1 );
- productcellElement2 := xmlDOM.CreateElement( "cell" );
- productcellElement2.SetAttribute( "value", row.Name() );
- productcolumnelement.AppendChild( productcellElement2 );
- productcellElement3 := xmlDOM.CreateElement( "cell" );
- productcellElement3.SetAttribute( "value", row.Name() );
- productcolumnelement.AppendChild( productcellElement3 );
- productcellElement4 := xmlDOM.CreateElement( "cell" );
- productcellElement4.SetAttribute( "value", row.Name() );
- productcolumnelement.AppendChild( productcellElement4 );
+ InventorySummarySource::CreateCellElement( xmlDOM, productcolumnelement, row.Name() );
+ InventorySummarySource::CreateCellElement( xmlDOM, productcolumnelement, row.Name() );
+ InventorySummarySource::CreateCellElement( xmlDOM, productcolumnelement, row.Name() );
+ InventorySummarySource::CreateCellElement( xmlDOM, productcolumnelement, row.Name() );
//Unit
- unitcellElement1 := xmlDOM.CreateElement( "cell" );
- unitcellElement1.SetAttribute( "value", row.Unit() );
- unitcolumnelement.AppendChild( unitcellElement1 );
- unitcellElement2 := xmlDOM.CreateElement( "cell" );
- unitcellElement2.SetAttribute( "value", row.Unit() );
- unitcolumnelement.AppendChild( unitcellElement2 );
- unitcellElement3 := xmlDOM.CreateElement( "cell" );
- unitcellElement3.SetAttribute( "value", row.Unit() );
- unitcolumnelement.AppendChild( unitcellElement3 );
- unitcellElement4 := xmlDOM.CreateElement( "cell" );
- unitcellElement4.SetAttribute( "value", row.Unit() );
- unitcolumnelement.AppendChild( unitcellElement4 );
+ InventorySummarySource::CreateCellElement( xmlDOM, unitcolumnelement, row.Unit() );
+ InventorySummarySource::CreateCellElement( xmlDOM, unitcolumnelement, row.Unit() );
+ InventorySummarySource::CreateCellElement( xmlDOM, unitcolumnelement, row.Unit() );
+ InventorySummarySource::CreateCellElement( xmlDOM, unitcolumnelement, row.Unit() );
//Attribute
//鏈熸湯搴撳瓨
- endcellElement := xmlDOM.CreateElement( "cell" );
- endcellElement.SetAttribute( "value", '鏈熸湯搴撳瓨' );//EndingInventory
- attricolumnelement.AppendChild( endcellElement );
+ InventorySummarySource::CreateCellElement( xmlDOM, attricolumnelement, '鏈熸湯搴撳瓨' );//EndingInventory
//鏈�灏忓簱瀛�
- mincellElement := xmlDOM.CreateElement( "cell" );
- mincellElement.SetAttribute( "value", '鏈�灏忓簱瀛�' );//MinimumInventory
- attricolumnelement.AppendChild( mincellElement );
+ InventorySummarySource::CreateCellElement( xmlDOM, attricolumnelement, '鏈�灏忓簱瀛�' );//MinimumInventory
//鏈�澶у簱瀛�
- maxcellElement := xmlDOM.CreateElement( "cell" );
- maxcellElement.SetAttribute( "value", '鏈�澶у簱瀛�' );//MaximumInventory
- attricolumnelement.AppendChild( maxcellElement );
+ InventorySummarySource::CreateCellElement( xmlDOM, attricolumnelement, '鏈�澶у簱瀛�' );//MaximumInventory
//骞冲潎搴撳瓨
- avecellElement := xmlDOM.CreateElement( "cell" );
- avecellElement.SetAttribute( "value", '骞冲潎搴撳瓨' );//AverageInventory
- attricolumnelement.AppendChild( avecellElement );
+ InventorySummarySource::CreateCellElement( xmlDOM, attricolumnelement, '骞冲潎搴撳瓨' );//AverageInventory
}
//鏈熸湯搴撳瓨
- endcellElement := xmlDOM.CreateElement( "cell" );
- endcellElement.SetAttribute( "value", [String]c.EndingInventory() );
- columnelement.AppendChild( endcellElement );
+ InventorySummarySource::CreateCellElement( xmlDOM, columnelement, [String]c.EndingInventory() );
//鏈�灏忓簱瀛�
- mincellElement := xmlDOM.CreateElement( "cell" );
- mincellElement.SetAttribute( "value", [String]c.MinimumInventory() );
- columnelement.AppendChild( mincellElement );
+ InventorySummarySource::CreateCellElement( xmlDOM, columnelement, [String]c.MinimumInventory() );
//鏈�澶у簱瀛�
- maxcellElement := xmlDOM.CreateElement( "cell" );
- maxcellElement.SetAttribute( "value", [String]c.MaximumInventory() );
- columnelement.AppendChild( maxcellElement );
+ InventorySummarySource::CreateCellElement( xmlDOM, columnelement, [String]c.MaximumInventory() );
//骞冲潎搴撳瓨
- avecellElement := xmlDOM.CreateElement( "cell" );
- avecellElement.SetAttribute( "value", [String]c.AverageInventory() );
- columnelement.AppendChild( avecellElement );
+ InventorySummarySource::CreateCellElement( xmlDOM, columnelement, [String]c.AverageInventory() );
}
- for( i := cells.Size() * 4; i < searchtotal; i := i + 1 ){
- searchcellElement := xmlDOM.CreateElement( "cell" );
- searchcellElement.SetAttribute( "value", '' );
- columnelement.AppendChild( searchcellElement );
- if( column.Index() = 0 ){
- productcellElement := xmlDOM.CreateElement( "cell" );
- productcellElement.SetAttribute( "value", '' );
- productcolumnelement.AppendChild( productcellElement );
-
- unitcellElement := xmlDOM.CreateElement( "cell" );
- unitcellElement.SetAttribute( "value", '' );
- unitcolumnelement.AppendChild( unitcellElement );
-
- endcellElement := xmlDOM.CreateElement( "cell" );
- endcellElement.SetAttribute( "value", '' );//EndingInventory
- attricolumnelement.AppendChild( endcellElement );
-
- }
- }
+
tableElement.AppendChild( columnelement );
}
--
Gitblit v1.9.3