From 4be2a228025a44c7cc4a1fec31d5ade0f84a988b Mon Sep 17 00:00:00 2001
From: lazhen <17772815105@139.com>
Date: 星期一, 14 十月 2024 16:49:11 +0800
Subject: [PATCH] 财务产量/销量报表查询条件多选

---
 _Main/BL/Type_FinancialSalesSource/StaticMethod_InitializeNew.qbl |   27 +++++++++------------------
 1 files changed, 9 insertions(+), 18 deletions(-)

diff --git a/_Main/BL/Type_FinancialSalesSource/StaticMethod_InitializeNew.qbl b/_Main/BL/Type_FinancialSalesSource/StaticMethod_InitializeNew.qbl
index 5d0c8a8..18b51ad 100644
--- a/_Main/BL/Type_FinancialSalesSource/StaticMethod_InitializeNew.qbl
+++ b/_Main/BL/Type_FinancialSalesSource/StaticMethod_InitializeNew.qbl
@@ -10,23 +10,20 @@
     // 鐢勫叞楦� Jun-24-2024 (created)
     owner.FinancialSalesSource( relflush );
     owner.FSImportData( relflush );
-    products                  := construct( Product_MPs );
+    productids                := construct( Strings );
     allunit                   := FinancialSalesReport::GetDefaultAllUnit();
     ccunit                    := FinancialSalesReport::GetDefaultCCUnit();
     dlunit                    := FinancialSalesReport::GetDefaultDLUnit();
     ccsalessegment            := FinancialSalesReport::GetSalesSegmentCC();
     tjsalessegment            := FinancialSalesReport::GetSalesSegmentTJ();
     fssalessegment            := FinancialSalesReport::GetSalesSegmentFS();
-    //ccspline                  := FinancialSalesReport::GetStockingPointCCLine();
-    //dlspline                  := FinancialSalesReport::GetStockingPointDLLine();
-    //ccrent                    := FinancialSalesReport::GetStockingPointCCRent();
     
     source                    := owner.FinancialSalesSource( relnew, IsImport := false, Name := FinancialSalesReport::GetDefaultName() );
     table                     := source.FinancialSalesReport( relnew, ID := source.Name(), Name := source.Name(), IsImport := false );
     showtable                 := source.FinancialSalesReport( relnew, ID := source.Name() + 'Show', Name := source.Name(), IsImport := false, IsShow := true );
     startofplanning           := owner.StartOfPlanning().Date();
-    startofyear               := ( startofplanning.StartOfYear() - Duration::Days( 1 ) ).Date();
-    startofnextyear           := ( startofplanning.StartOfNextYear() - Duration::Days( 1 ) ).Date();
+    //startofyear               := startofplanning.StartOfYear();
+    startofnextyear           := startofplanning.StartOfNextYear();
     
     search                    := owner.FinancialSalesSearch( relnew, Unit := allunit, Generation := allunit, MqbMlb := allunit, Power := allunit );
     
@@ -54,7 +51,7 @@
         //鑾峰彇宸ュ巶琛�
         factoryrow           := table.GetRow( ifexpr( isdl, dlunit, ccunit ), product );
       
-        products.Add( product );
+        productids.Add( forecast.ProductID() );
         traverse( forecast, PlanningSalesDemandInPeriod, psdip, psdip.Quantity() <> 0 ){
           dayperiodtime      := psdip.StartDate();
           dayperiodname      := dayperiodtime.Format( "M2/D2/Y" );
@@ -75,13 +72,13 @@
     //浠嶱roduct planning鏌ユ壘搴撳瓨鐐逛负澶ц繛鍙戝姩鏈虹殑闀挎槬澶栫搴擄紝鍙朜ew supply瀛楁鎸夋湀姹囨�婚渶姹傛暟閲�
     traverse( owner, StockingPoint_MP, stockingpoint, stockingpoint.ID() = '澶ц繛鍙戝姩鏈虹殑闀挎槬澶栫搴�' ){
         traverse( stockingpoint, ProductInStockingPoint_MP, pisp, pisp.Product_MP().IsLeaf()
-                  and exists( pisp, ProductInStockingPointInPeriod, pispip, pispip.Period_MP().StartDate() >= startofyear and pispip.Period_MP().StartDate() < startofnextyear 
+                  and exists( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() and pispip.Period_MP().StartDate() < startofnextyear 
                               and ( pispip.DependentDemandAndSalesDemandQuantity() <> 0 or pispip.NewSupplyQuantity() <> 0 ) ) ){//浜у搧涓篗QB
           product           := pisp.Product_MP();
           allrow            := table.GetRow( allunit, product );
           factoryrow        := table.GetRow( dlunit, product );
-          products.Add( product );
-          traverse( pisp, ProductInStockingPointInPeriod, pispip, pispip.Period_MP().StartDate() >= startofyear
+          productids.Add( pisp.ProductID() );
+          traverse( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical()
                     and pispip.Period_MP().StartDate() < startofnextyear 
                     and ( pispip.DependentDemandAndSalesDemandQuantity() <> 0 or pispip.NewSupplyQuantity() <> 0 ) ){
             dayperiodtime   := ( pispip.Start() + Duration::Days( 1 ) ).Date();
@@ -134,13 +131,7 @@
     //    }
     //  }
     //}
-    
-    rows := selectsortedset( table, FinancialSalesRow, row, row.Name() );
-    i    := 0;
-    traverse( rows, Elements, e ){
-      e.RowNr( i );
-      i := i + 1;
-    }
-    showtable.Generate( search, products );
+    factorys                  := selectset( owner, Factory, factory, factory.ID() = FinancialProductionReport::GetDefaultAllUnit() );
+    showtable.Generate( search, factorys, productids );
   *]
 }

--
Gitblit v1.9.3