From d043f7992783c85310aab0afd2c13f2e63839c3d Mon Sep 17 00:00:00 2001 From: lazhen <17772815105@139.com> Date: 星期三, 03 七月 2024 15:58:05 +0800 Subject: [PATCH] 库存汇总下载完成 --- _Main/BL/Type_InventorySummarySource/StaticMethod_Download.qbl | 85 +++++++++++++++++++++++++++++++++++------- _Main/BL/Type_InventorySummarySource/StaticMethod_Initialize.qbl | 7 ++- 2 files changed, 75 insertions(+), 17 deletions(-) diff --git a/_Main/BL/Type_InventorySummarySource/StaticMethod_Download.qbl b/_Main/BL/Type_InventorySummarySource/StaticMethod_Download.qbl index 6fe5b7f..2f2dbb5 100644 --- a/_Main/BL/Type_InventorySummarySource/StaticMethod_Download.qbl +++ b/_Main/BL/Type_InventorySummarySource/StaticMethod_Download.qbl @@ -8,7 +8,7 @@ TextBody: [* - table := selectobject( macroPlan, FinancialSalesSource.FinancialSalesReport, table, not table.IsImport() and table.IsShow() ); + 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>' ); @@ -30,10 +30,19 @@ 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 ); tableElement.AppendChild( productcolumnelement ); tableElement.AppendChild( unitcolumnelement ); - traverse ( table, FinancialSalesColumn, column ) { + tableElement.AppendChild( attricolumnelement ); + traverse ( table, InventorySummaryColumn, column ) { columnelement := xmlDOM.CreateElement( "column" ); nameelement := xmlDOM.CreateElement( "name" ); typeelement := xmlDOM.CreateElement( "type" ); @@ -42,23 +51,71 @@ columnelement.AppendChild( nameelement ); columnelement.AppendChild( typeelement ); - cells := selectsortedset( column, FinancialSalesCell, cell, cell.FinancialSalesRow().RowNr() ); + cells := selectsortedset( column, InventorySummaryCell, cell, cell.InventroySummaryRow().RowNr() ); traverse ( cells, Elements, c ) { if( column.Index() = 0 ){ - row := c.FinancialSalesRow(); + row := c.InventroySummaryRow(); //Product - productcellElement := xmlDOM.CreateElement( "cell" ); - productcellElement.SetAttribute( "value", row.Name() ); - productcolumnelement.AppendChild( productcellElement ); + 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 ); //Unit - unitcellElement := xmlDOM.CreateElement( "cell" ); - unitcellElement.SetAttribute( "value", row.Unit() ); - unitcolumnelement.AppendChild( unitcellElement ); + 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 ); + //Attribute + //鏈熸湯搴撳瓨 + endcellElement := xmlDOM.CreateElement( "cell" ); + endcellElement.SetAttribute( "value", 'EndingInventory' ); + attricolumnelement.AppendChild( endcellElement ); + //鏈�灏忓簱瀛� + mincellElement := xmlDOM.CreateElement( "cell" ); + mincellElement.SetAttribute( "value", 'MinimumInventory' ); + attricolumnelement.AppendChild( mincellElement ); + //鏈�澶у簱瀛� + maxcellElement := xmlDOM.CreateElement( "cell" ); + maxcellElement.SetAttribute( "value", 'MaximumInventory' ); + attricolumnelement.AppendChild( maxcellElement ); + //骞冲潎搴撳瓨 + avecellElement := xmlDOM.CreateElement( "cell" ); + avecellElement.SetAttribute( "value", 'AverageInventory' ); + attricolumnelement.AppendChild( avecellElement ); } - cellElement := xmlDOM.CreateElement( "cell" ); - cellElement.SetAttribute( "value", c.Value() ); - columnelement.AppendChild( cellElement ); + //鏈熸湯搴撳瓨 + endcellElement := xmlDOM.CreateElement( "cell" ); + endcellElement.SetAttribute( "value", [String]c.EndingInventory() ); + columnelement.AppendChild( endcellElement ); + //鏈�灏忓簱瀛� + mincellElement := xmlDOM.CreateElement( "cell" ); + mincellElement.SetAttribute( "value", [String]c.MinimumInventory() ); + columnelement.AppendChild( mincellElement ); + //鏈�澶у簱瀛� + maxcellElement := xmlDOM.CreateElement( "cell" ); + maxcellElement.SetAttribute( "value", [String]c.MaximumInventory() ); + columnelement.AppendChild( maxcellElement ); + //骞冲潎搴撳瓨 + avecellElement := xmlDOM.CreateElement( "cell" ); + avecellElement.SetAttribute( "value", [String]c.AverageInventory() ); + columnelement.AppendChild( avecellElement ); } tableElement.AppendChild( columnelement ); } @@ -67,7 +124,7 @@ //info( xmlString ); - tableGroupHandle := TableGroupHandle::Create( FinancialSalesReport::GetDefaultName() ); + tableGroupHandle := TableGroupHandle::Create( InventorySummaryReport::GetDefaultName() ); tableHandle := TableHandle::ImportXML( BinaryValue::Construct( xmlString ) ); tableGroupHandle.Add( tableHandle ); diff --git a/_Main/BL/Type_InventorySummarySource/StaticMethod_Initialize.qbl b/_Main/BL/Type_InventorySummarySource/StaticMethod_Initialize.qbl index 183c900..455d0bc 100644 --- a/_Main/BL/Type_InventorySummarySource/StaticMethod_Initialize.qbl +++ b/_Main/BL/Type_InventorySummarySource/StaticMethod_Initialize.qbl @@ -39,14 +39,15 @@ unitrow := table.GetRow( unit, product.ID() ); allrow := table.GetRow( allunit, product.ID() ); pispips := selectsortedset( pisp, ProductInStockingPointInPeriod, pispip, pispip.Start() >= startofplanning and pispip.Start() < startofnextyear and pispip.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Day(), pispip.Start() ); - info( '-----------------------------------', isnull( allrow ), pispips.Size() ); - traverse( pispips, Elements, pispip ){ - info( '-----------------------------------', pispip.Start() ); + // info( '-----------------------------------', isnull( allrow ), pispips.Size() ); + traverse( pispips, Elements, pispip, pispip.Start() = startofplanning ){ + // info( '-----------------------------------', pispip.Start() ); period := pispip.Period_MP(); periodtime := period.Start().Date(); periodname := periodtime.Format( "M2/D2/Y" ); //澶╋紝閫夋嫨鏃ラ绮掑害鏃讹紝鏈熸湯搴撳瓨锛屾渶灏忓簱瀛橈紝鏈�澶у簱瀛樺拰骞冲潎搴撳瓨鐨勬暟鍊间繚鎸佷竴鑷� daycolumn := selectobject( table, InventorySummaryColumn, column, column.Name() = periodname, column.Period() = periodtime, column.TimeUnit() = Translations::MP_GlobalParameters_Day() ); + info( daycolumn.Name(), daycolumn.Period(), daycolumn.TimeUnit() ); unitrow.SetCellValue( daycolumn, pispip.PlannedInventoryLevelEnd() ); allrow.SetCellValue( daycolumn, pispip.PlannedInventoryLevelEnd() ); -- Gitblit v1.9.3