From f17217ea2bcfb6a63037a37cb77f208956157e03 Mon Sep 17 00:00:00 2001
From: xiaoding721 <33130084+xiaoding721@users.noreply.github.com>
Date: 星期二, 27 八月 2024 14:27:56 +0800
Subject: [PATCH] Merge branch 'dev' of http://47.101.211.7:10101/r/VWED into dev
---
_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_GenerateData.qbl | 72 +++++++++++++++++++++++++++++++-----
1 files changed, 62 insertions(+), 10 deletions(-)
diff --git a/_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_GenerateData.qbl b/_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_GenerateData.qbl
index 73c5697..7a835d1 100644
--- a/_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_GenerateData.qbl
+++ b/_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_GenerateData.qbl
@@ -5,26 +5,78 @@
String werk,
const MacroPlan macroplan,
Date startdate,
- Date enddate
+ Date enddate,
+ String executor
)
{
TextBody:
[*
// 鐢勫叞楦� Aug-23-2024 (created)
- owner.AOnlineAndMOfflinePlanPIR( relflush );
- pir := owner.AOnlineAndMOfflinePlanPIR( relnew, Werk := werk, Version := macroplan.ScenarioName(), StartDate := startdate, EndDate := enddate );
- totalrows := 0;
- traverse( macroplan, AssemblyOnlinePlanColumn, column ){
- traverse( column, AssemblyOnlinePlanCell, cell, cell.Value() <> '' and cell.AssemblyOnlinePlanRow().RowNr() = '1' ){
+ cdlast := maxobject( owner, AOnlineAndMOfflinePlanPIR, cd, cd.StartDate(), cd.EndDate(), cd.Werk() );
+ if( not isnull( cdlast ) ){
+ loginfo := cdlast.InterfaceLoginfo();
+ if( not loginfo.IsShow() ){
+ loginfo.Delete();
+ }else{
+ loginfo.Last( false );
+ }
+ owner.AOnlineAndMOfflinePlanPIR( relflush );
+ }
+ nowdate := DateTime::ActualTime();
+ productids := construct( Strings );
+ loginfo := owner.InterfaceLoginfo( relnew, ExecuteUser := executor
+ , Name := Translations::InterfaceDataset_AOnlineAndMOfflinePlanPIR_Name()
+ , InterfaceDateTime := nowdate
+ , Message := '瑁呴厤涓婄嚎璁″垝 + 鏈哄姞涓嬬嚎璁″垝 - PIR'
+ , IsShow := false
+ , Last := true
+ , ReturnSuccess := true
+ , ReturnMsg := 'Success'
+ , Success := true
+ );
+ pir := owner.AOnlineAndMOfflinePlanPIR( relnew, ZPPPSCode := OS::GenerateGUIDAsString(), Werk := werk, Version := macroplan.ScenarioName(), 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().RowNr() = '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());
+ , PlanningDate := column.ColumnDate()
+ , PlanningQty := [Number]cell.Value());
}
}
- totalrows := totalrows + pir.PIRData( relsize );
- //traverse( macroplan, OfflinePlanTable
+ 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' ) ){
+ 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( pir ) ){
+ 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 ) ){
+ pir.PIRData( relnew, Product := e
+ , PlanningDate := date
+ , PlanningQty := 0 );
+ }
+ }
+ }
+ loginfo.TotalRow( pir.PIRData( relsize ) );
*]
}
--
Gitblit v1.9.3