From acffa3d576342b2d24001d8410d53e6972eeb9e5 Mon Sep 17 00:00:00 2001
From: xiaoding721 <33130084+xiaoding721@users.noreply.github.com>
Date: 星期三, 16 十月 2024 19:16:28 +0800
Subject: [PATCH] Merge branch 'dev' of http://47.101.211.7:10101/r/VWED into dev
---
_Main/BL/Type_InventorySummarySource/StaticMethod_Download.qbl | 82 ++++++++++++++++++++++++++++++++++++++++
1 files changed, 81 insertions(+), 1 deletions(-)
diff --git a/_Main/BL/Type_InventorySummarySource/StaticMethod_Download.qbl b/_Main/BL/Type_InventorySummarySource/StaticMethod_Download.qbl
index 1bba790..06cfb30 100644
--- a/_Main/BL/Type_InventorySummarySource/StaticMethod_Download.qbl
+++ b/_Main/BL/Type_InventorySummarySource/StaticMethod_Download.qbl
@@ -1,7 +1,12 @@
Quintiq file version 2.0
#parent: #root
StaticMethod Download (
- MacroPlan macroPlan
+ MacroPlan macroPlan,
+ Factorys factorys,
+ ProductGenerations generations,
+ ProductPowers powers,
+ ProductMLBMQBs mlbmqls,
+ InventorySummarySearch search
) as BinaryValue
{
Description: '涓嬭浇璐㈠姟鎶ヨ〃鏁版嵁'
@@ -14,6 +19,14 @@
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" );
@@ -39,9 +52,61 @@
attricolumnelement.AppendChild( attrinameelement );
attricolumnelement.AppendChild( attritypeelement );
+ 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 );
+ searchcellElement1 := xmlDOM.CreateElement( "cell" );
+ searchcellElement1.SetAttribute( "value", 'Periods' );
+ searchcolumnelement.AppendChild( searchcellElement1 );
+ searchcellElement1 := xmlDOM.CreateElement( "cell" );
+ searchcellElement1.SetAttribute( "value", search.Category() );
+ searchcolumnelement.AppendChild( searchcellElement1 );
traverse ( table, InventorySummaryColumn, column ) {
columnelement := xmlDOM.CreateElement( "column" );
nameelement := xmlDOM.CreateElement( "name" );
@@ -99,6 +164,14 @@
avecellElement := xmlDOM.CreateElement( "cell" );
avecellElement.SetAttribute( "value", '骞冲潎搴撳瓨' );//AverageInventory
attricolumnelement.AppendChild( avecellElement );
+
+ if( cells.Size() > searchtotal ){
+ for( i := searchtotal; i < cells.Size(); i := i + 1 ){
+ searchcellElement1 := xmlDOM.CreateElement( "cell" );
+ searchcellElement1.SetAttribute( "value", '' );
+ searchcolumnelement.AppendChild( searchcellElement1 );
+ }
+ }
}
//鏈熸湯搴撳瓨
endcellElement := xmlDOM.CreateElement( "cell" );
@@ -117,6 +190,13 @@
avecellElement.SetAttribute( "value", [String]c.AverageInventory() );
columnelement.AppendChild( avecellElement );
}
+ if( cells.Size() < searchtotal ){
+ for( i := cells.Size(); i < searchtotal; i := i + 1 ){
+ searchcellElement1 := xmlDOM.CreateElement( "cell" );
+ searchcellElement1.SetAttribute( "value", '' );
+ searchcolumnelement.AppendChild( searchcellElement1 );
+ }
+ }
tableElement.AppendChild( columnelement );
}
--
Gitblit v1.9.3