From f1de76007e7834e17d87712e3342efd84876c200 Mon Sep 17 00:00:00 2001 From: lihongji <3117313295@qq.com> Date: 星期六, 12 十月 2024 16:32:16 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev --- _Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_GenerateData.qbl | 64 ++++++++++++++++--------------- 1 files changed, 33 insertions(+), 31 deletions(-) diff --git a/_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_GenerateData.qbl b/_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_GenerateData.qbl index 6c48d50..a2c55cc 100644 --- a/_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_GenerateData.qbl +++ b/_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_GenerateData.qbl @@ -3,7 +3,7 @@ StaticMethod GenerateData ( InterfaceDataset owner, String werk, - const MacroPlan macroplan, + String version, Date startdate, Date enddate, String executor @@ -33,41 +33,43 @@ , ReturnMsg := 'Success' , Success := true ); - pir := owner.AOnlineAndMOfflinePlanPIR( relnew, ZPPPSCode := OS::GenerateGUIDAsString(), Werk := werk, Version := macroplan.ScenarioName(), StartDate := startdate, EndDate := enddate ); + pir := owner.AOnlineAndMOfflinePlanPIR( relnew, ZPPPSCode := OS::GenerateGUIDAsString(), Werk := werk, Version := version, StartDate := startdate, EndDate := enddate ); loginfo.AOnlineAndMOfflinePlanPIR( relinsert, pir ); - traverse( macroplan, AssemblyOnlinePlanColumn, column, column.ColumnDate() >= startdate and column.ColumnDate() <= enddate ){ - traverse( column, AssemblyOnlinePlanCell, cell, ( werk = 'All' or cell.AssemblyOnlinePlanRow().ProductionLine().FindString( werk, 0 ) > -1 ) - and cell.AssemblyOnlinePlanRow().Type() = '1' ){ - quantityrow := cell.AssemblyOnlinePlanRow(); - if( not exists( productids, Elements, e, e = quantityrow.ProductID() ) ){ - productids.Add( quantityrow.ProductID() ); - } - - pir.PIRData( relnew, Product := quantityrow.ProductID() - , PlanningDate := column.ColumnDate() - , PlanningQty := [Number]cell.Value()); - } - } - - traverse( macroplan, OfflinePlanTable, table ){ - traverse( table, OfflinePlanColumn, column, column.ColumnDate() >= startdate and column.ColumnDate() <= enddate ){ - traverse( column, OfflinePlanCell, cell, ( werk = 'All' or cell.OfflinePlanRow().ProductionLine().FindString( werk, 0 ) > -1 ) - and ( cell.OfflinePlanRow().ProductionLine() <> 'DL_MOMO' or cell.OfflinePlanRow().ProductionLine() <> 'CC_MOMO' ) - and cell.OfflinePlanRow().Type() = '1' ){ - row := cell.OfflinePlanRow(); - if( not exists( productids, Elements, e, e = row.ProductID() ) ){ - productids.Add( row.ProductID() ); + traverse( owner, AssemblyOnlinePlanVersion, verison, not verison.IsShow() ){ + traverse( verison, Column, column, column.TimeUnit() = Translations::MP_GlobalParameters_Day() and column.StartDate() >= startdate and column.StartDate() <= enddate ){ + traverse( column, Cell, cell, ( werk = 'All' or cell.Row().ProductionLine().FindString( werk, 0 ) > -1 ) + and cell.Row().Type() = '1' ){ + quantityrow := cell.Row(); + if( not exists( productids, Elements, e, e = quantityrow.ProductID() ) ){ + productids.Add( quantityrow.ProductID() ); } - pirdata := selectobject( pir, PIRData, pirdata, pirdata.Product() = row.ProductID() and pirdata.PlanningDate() = column.ColumnDate() ); - if( isnull( pirdata ) ){ - pirdata := pir.PIRData( relnew, Product := row.ProductID() - , PlanningDate := column.ColumnDate() - , PlanningQty := 0 ); - } - pirdata.PlanningQty( pirdata.PlanningQty() + [Number]cell.Value() ); + + pir.PIRData( relnew, Product := quantityrow.ProductID() + , PlanningDate := column.StartDate() + , PlanningQty := [Number]cell.Value()); } } } + + //traverse( version, OfflinePlanTable, table ){ + // traverse( table, OfflinePlanColumn, column, column.ColumnDate() >= startdate and column.ColumnDate() <= enddate ){ + // traverse( column, OfflinePlanCell, cell, ( werk = 'All' or cell.OfflinePlanRow().ProductionLine().FindString( werk, 0 ) > -1 ) + // and ( cell.OfflinePlanRow().ProductionLine() <> 'DL_MOMO' or cell.OfflinePlanRow().ProductionLine() <> 'CC_MOMO' ) + // and cell.OfflinePlanRow().Type() = '1' ){ + // row := cell.OfflinePlanRow(); + // if( not exists( productids, Elements, e, e = row.ProductID() ) ){ + // productids.Add( row.ProductID() ); + // } + // pirdata := selectobject( pir, PIRData, pirdata, pirdata.Product() = row.ProductID() and pirdata.PlanningDate() = column.ColumnDate() ); + // if( isnull( pirdata ) ){ + // pirdata := pir.PIRData( relnew, Product := row.ProductID() + // , PlanningDate := column.ColumnDate() + // , PlanningQty := 0 ); + // } + // pirdata.PlanningQty( pirdata.PlanningQty() + [Number]cell.Value() ); + // } + // } + //} traverse( productids, Elements, e ){ for( date := startdate.StartOfWeek(); date <= enddate; date := ( date + Duration::Days( 1 ) ).Date() ){ if( not exists( pir, PIRData, pirdata, pirdata.Product() = e and pirdata.PlanningDate() = date ) ){ -- Gitblit v1.9.3