From 7b39e3bb5227a90b8a96b027f71436e435badce9 Mon Sep 17 00:00:00 2001 From: xiaoding721 <33130084+xiaoding721@users.noreply.github.com> Date: 星期五, 13 十二月 2024 16:33:27 +0800 Subject: [PATCH] 修复一些bug --- _Main/BL/Type_MP_Cell_ScheduleSummary0/StaticMethod_CreateFullTable.qbl | 2 _Main/BL/Type_LocalCell_Default/StaticMethod_GenerateAnnualPlanReport.qbl | 72 ++++++++++++++++++++++++++++++----- _Main/BL/Type_MP_Cell_AnnualPlanReport0/StaticMethod_CreateFullTable.qbl | 36 +++++++++-------- 3 files changed, 81 insertions(+), 29 deletions(-) diff --git a/_Main/BL/Type_LocalCell_Default/StaticMethod_GenerateAnnualPlanReport.qbl b/_Main/BL/Type_LocalCell_Default/StaticMethod_GenerateAnnualPlanReport.qbl index 5f86d1d..eb6865b 100644 --- a/_Main/BL/Type_LocalCell_Default/StaticMethod_GenerateAnnualPlanReport.qbl +++ b/_Main/BL/Type_LocalCell_Default/StaticMethod_GenerateAnnualPlanReport.qbl @@ -75,20 +75,70 @@ and pispippl.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Day()); if( pispippls.Size() <> 0 ){ - localRow := null( LocalRow ); - { - localRowHandle := localRowIndexTree.GetHandle( pisp_mp.ProductID() + pisp_mp.StockingPoint_MP().Unit().Name() ); - localRowIndex := guard( localRowIndexTree.Root().Child( localRowHandle ),null( NamedValue )); - if( isnull( localRowIndex )){ - localRow := localTable.LocalRow( relnew,CustomName := pisp_mp.ProductID() + " in " + pisp_mp.StockingPoint_MP().Unit().Name(),ProductID := pisp_mp.ProductID(),ProductionLine := pisp_mp.StockingPoint_MP().Unit().Name(),Index := localTable.GetRowIndexCache() ); - localRows.Add( localRow ); - localRowIndexTree.Root().AddChild( localRowHandle,localRows.Size() - 1 ); + traverse( pispippls,Elements.NewSupply,newSupply ){ + unit := newSupply.PeriodTask_MP().UnitPeriod().Unit(); + + localRow := null( LocalRow ); + { + localRowHandle := localRowIndexTree.GetHandle( pisp_mp.ProductID() + unit.Name() ); + localRowIndex := guard( localRowIndexTree.Root().Child( localRowHandle ),null( NamedValue )); + if( isnull( localRowIndex )){ + localRow := localTable.LocalRow( relnew,CustomName := pisp_mp.ProductID() + " in " + unit.Name(), + ProductID := pisp_mp.ProductID(), + ProductionLine := unit.Name(), + Index := localTable.GetRowIndexCache() ); + localRows.Add( localRow ); + localRowIndexTree.Root().AddChild( localRowHandle,localRows.Size() - 1 ); + }else{ + localRow := localRows.Element( localRowIndex.GetValueAsNumber() ); + } + } + + column := null( LocalColumn ); + { + columnHandle := localColumnIndexTree.GetHandle( newSupply.PeriodTask_MP().UnitPeriod().Period_MP().StartDate().AsQUILL() ); + columnIndex := guard( localColumnIndexTree.Root().Child( columnHandle ),null( NamedValue )); + if( not isnull( columnIndex )){ + column := localColumns.Element( columnIndex.GetValueAsNumber() ); + }else{ + column := localTable.LocalColumn( relnew,CustomDate := newSupply.PeriodTask_MP().UnitPeriod().Period_MP().StartDate() ,TimeUnit := "Day"); + localColumns.Add( column ); + localColumnIndexTree.Root().AddChild( columnHandle,localColumns.Size() - 1 ); + } + } + + localCellHandle := localCellIndexTree.GetHandle( localRow.ProductID() + localRow.ProductionLine() + column.CustomDate().AsQUILL() + column.TimeUnit() ); + localCellIndex := guard( localCellIndexTree.Root().Child( localCellHandle ),null( NamedValue )); + if( isnull( localCellIndex )){ + localCell := localRow.LocalCell( relnew,LocalCell_Default,LocalColumn := column ); + localCell.RealValue( newSupply.Quantity() ); + localCells.Add( localCell ); + localCellIndexTree.Root().AddChild( localCellHandle,localCells.Size() - 1 ); }else{ - localRow := localRows.Element( localRowIndex.GetValueAsNumber() ); + localCell := localCells.Element( localCellIndex.GetValueAsNumber() ); + localCell.RealValue( localCell.RealValue() + newSupply.Quantity() ); } } - + traverse( pispippls,Elements,pispippl ){ + unit := pispippl.ProductInStockingPoint_MP().StockingPoint_MP().Unit(); + + localRow := null( LocalRow ); + { + localRowHandle := localRowIndexTree.GetHandle( pisp_mp.ProductID() + unit.Name() ); + localRowIndex := guard( localRowIndexTree.Root().Child( localRowHandle ),null( NamedValue )); + if( isnull( localRowIndex )){ + localRow := localTable.LocalRow( relnew,CustomName := pisp_mp.ProductID() + " in " + unit.Name(), + ProductID := pisp_mp.ProductID(), + ProductionLine := unit.Name(), + Index := localTable.GetRowIndexCache() ); + localRows.Add( localRow ); + localRowIndexTree.Root().AddChild( localRowHandle,localRows.Size() - 1 ); + }else{ + localRow := localRows.Element( localRowIndex.GetValueAsNumber() ); + } + } + column := null( LocalColumn ); { columnHandle := localColumnIndexTree.GetHandle( pispippl.Period_MP().StartDate().AsQUILL() ); @@ -106,7 +156,7 @@ localCellIndex := guard( localCellIndexTree.Root().Child( localCellHandle ),null( NamedValue )); if( isnull( localCellIndex )){ localCell := localRow.LocalCell( relnew,LocalCell_Default,LocalColumn := column ); - localCell.RealValue( pispippl.NewSupplyQuantity() ); + localCell.RealValue( pispippl.NewSupplyQuantity()); localCells.Add( localCell ); localCellIndexTree.Root().AddChild( localCellHandle,localCells.Size() - 1 ); }else{ diff --git a/_Main/BL/Type_MP_Cell_AnnualPlanReport0/StaticMethod_CreateFullTable.qbl b/_Main/BL/Type_MP_Cell_AnnualPlanReport0/StaticMethod_CreateFullTable.qbl index 73b4888..8e6f089 100644 --- a/_Main/BL/Type_MP_Cell_AnnualPlanReport0/StaticMethod_CreateFullTable.qbl +++ b/_Main/BL/Type_MP_Cell_AnnualPlanReport0/StaticMethod_CreateFullTable.qbl @@ -74,28 +74,30 @@ and pispippl.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Day()); if( pispippls.Size() <> 0 ){ - localRow := null( LocalRow ); - { - localRowHandle := localRowIndexTree.GetHandle( pisp_mp.ProductID() + pisp_mp.StockingPoint_MP().Unit().Name() ); - localRowIndex := guard( localRowIndexTree.Root().Child( localRowHandle ),null( NamedValue )); - if( isnull( localRowIndex )){ - localRow := localTable.LocalRow( relnew,CustomName := pisp_mp.Name(),ProductID := pisp_mp.ProductID(),ProductionLine := pisp_mp.StockingPoint_MP().Unit().Name(),Index := localTable.GetRowIndexCache() ); - localRows.Add( localRow ); - localRowIndexTree.Root().AddChild( localRowHandle,localRows.Size() - 1 ); - }else{ - localRow := localRows.Element( localRowIndex.GetValueAsNumber() ); + traverse( pispippls,Elements.NewSupply,newSupply ){ + unit := newSupply.PeriodTask_MP().UnitPeriod().Unit(); + + localRow := null( LocalRow ); + { + localRowHandle := localRowIndexTree.GetHandle( pisp_mp.ProductID() + unit.Name() ); + localRowIndex := guard( localRowIndexTree.Root().Child( localRowHandle ),null( NamedValue )); + if( isnull( localRowIndex )){ + localRow := localTable.LocalRow( relnew,CustomName := pisp_mp.Name(),ProductID := pisp_mp.ProductID(),ProductionLine := unit.Name(),Index := localTable.GetRowIndexCache() ); + localRows.Add( localRow ); + localRowIndexTree.Root().AddChild( localRowHandle,localRows.Size() - 1 ); + }else{ + localRow := localRows.Element( localRowIndex.GetValueAsNumber() ); + } } - } - - traverse( pispippls,Elements,pispippl ){ + column := null( LocalColumn ); { - columnHandle := localColumnIndexTree.GetHandle( pispippl.Period_MP().StartDate().AsQUILL() ); + columnHandle := localColumnIndexTree.GetHandle( newSupply.PeriodTask_MP().UnitPeriod().Period_MP().StartDate().AsQUILL() ); columnIndex := guard( localColumnIndexTree.Root().Child( columnHandle ),null( NamedValue )); if( not isnull( columnIndex )){ column := localColumns.Element( columnIndex.GetValueAsNumber() ); }else{ - column := localTable.LocalColumn( relnew,CustomDate := pispippl.Period_MP().StartDate() ,TimeUnit := "Day"); + column := localTable.LocalColumn( relnew,CustomDate := newSupply.PeriodTask_MP().UnitPeriod().Period_MP().StartDate() ,TimeUnit := "Day"); localColumns.Add( column ); localColumnIndexTree.Root().AddChild( columnHandle,localColumns.Size() - 1 ); } @@ -105,12 +107,12 @@ localCellIndex := guard( localCellIndexTree.Root().Child( localCellHandle ),null( NamedValue )); if( isnull( localCellIndex )){ localCell := localRow.LocalCell( relnew,LocalCell_Default,LocalColumn := column ); - localCell.RealValue( pispippl.NewSupplyQuantity() ); + localCell.RealValue( newSupply.Quantity() ); localCells.Add( localCell ); localCellIndexTree.Root().AddChild( localCellHandle,localCells.Size() - 1 ); }else{ localCell := localCells.Element( localCellIndex.GetValueAsNumber() ); - localCell.RealValue( localCell.RealValue() + pispippl.NewSupplyQuantity() ); + localCell.RealValue( localCell.RealValue() + newSupply.Quantity() ); } } } diff --git a/_Main/BL/Type_MP_Cell_ScheduleSummary0/StaticMethod_CreateFullTable.qbl b/_Main/BL/Type_MP_Cell_ScheduleSummary0/StaticMethod_CreateFullTable.qbl index e99f055..0d02b18 100644 --- a/_Main/BL/Type_MP_Cell_ScheduleSummary0/StaticMethod_CreateFullTable.qbl +++ b/_Main/BL/Type_MP_Cell_ScheduleSummary0/StaticMethod_CreateFullTable.qbl @@ -169,7 +169,7 @@ } } // 寰幆鏃堕棿涓鸿鍒掑紑濮嬫棩鏈熶箣鍓嶇殑鏃堕棿 - traverse( localColumns,Elements,localColumn , localColumn.CustomDate() < macroPlan.StartOfPlanning().Date() or LocalTool::GetYYYYMM( localColumn.CustomDate() ) = LocalTool::GetYYYYMM( macroPlan.StartOfPlanning().Date() )){ + traverse( localColumns,Elements,localColumn , (localColumn.CustomDate() < macroPlan.StartOfPlanning().Date() or LocalTool::GetYYYYMM( localColumn.CustomDate() ) = LocalTool::GetYYYYMM( macroPlan.StartOfPlanning().Date() )) and localColumn.CustomDate() <> macroPlan.StartOfPlanning().Date()){ archiveCells := selectset( row,LocalCell.astype( LocalCell_ScheduleSummary ),cell, cell.LocalColumn().CustomDate() >= localColumn.CustomDate() and cell.LocalColumn().CustomDate() < localColumn.CustomDate().StartOfNextMonth() ); -- Gitblit v1.9.3