From 92adc281b9fa4c3750405f3497737a335febe8e8 Mon Sep 17 00:00:00 2001
From: lazhen <17772815105@139.com>
Date: 星期三, 18 九月 2024 15:48:48 +0800
Subject: [PATCH] 发动机成本报表添加成本参数有效时间测试

---
 _Main/BL/Type_FinancialSalesSource/StaticMethod_Initialize.qbl |   18 +++++++++++++++---
 1 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/_Main/BL/Type_FinancialSalesSource/StaticMethod_Initialize.qbl b/_Main/BL/Type_FinancialSalesSource/StaticMethod_Initialize.qbl
index 31f6bcd..500883e 100644
--- a/_Main/BL/Type_FinancialSalesSource/StaticMethod_Initialize.qbl
+++ b/_Main/BL/Type_FinancialSalesSource/StaticMethod_Initialize.qbl
@@ -53,14 +53,18 @@
       
         products.Add( product );
         traverse( forecast, PlanningSalesDemandInPeriod, psdip, psdip.Quantity() <> 0 ){
+          dayperiodtime      := psdip.StartDate();
+          dayperiodname      := dayperiodtime.Format( "M2/D2/Y" );
           periodtime         := psdip.StartDate().StartOfMonth();
           periodname         := periodtime.Format( "M2/D2/Y" );
     //      info( '-------------------------', periodname, periodtime );
-          column             := selectobject( table, FinancialSalesColumn, column, column.Name() = periodname and column.Period() = periodtime );
+          daycolumn          := selectobject( table, FinancialSalesColumn, column, column.Name() = dayperiodname and column.Period() = dayperiodtime and column.IsDay() );
+          column             := selectobject( table, FinancialSalesColumn, column, column.Name() = periodname and column.Period() = periodtime and not column.IsDay() );
     //      info( '-------------------------', column.Name() );
           quantity   := [Number]psdip.Quantity();//鍥涜垗浜斿叆
           
           factoryrow.Initialize( column, quantity );
+          factoryrow.Initialize( daycolumn, quantity );
           allrow.Initialize( column, quantity );
         }
       }
@@ -79,12 +83,16 @@
           ccrow             := table.GetRow( ccunit, product );
           products.Add( product );
           traverse( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() and pispip.Period_MP().StartDate() < startofnextyear and pispip.DependentDemandAndSalesDemandQuantity() <> 0 ){
+            dayperiodtime   := pispip.Start().Date();
+            dayperiodname   := dayperiodtime.Format( "M2/D2/Y" );
             periodtime      := pispip.Start().StartOfMonth().Date();
             periodname      := periodtime.Format( "M2/D2/Y" );
-            column          := selectobject( table, FinancialSalesColumn, column, column.Name() = periodname and column.Period() = periodtime );
+            daycolumn       := selectobject( table, FinancialSalesColumn, column, column.Name() = dayperiodname and column.Period() = dayperiodtime and column.IsDay() );
+            column          := selectobject( table, FinancialSalesColumn, column, column.Name() = periodname and column.Period() = periodtime and not column.IsDay() );
             quantity        := [Number]pispip.DependentDemandAndSalesDemandQuantity();//鍥涜垗浜斿叆
             
             ccrow.Initialize( column, quantity );//鍙朤otal Demand瀛楁鎸夋湀姹囨�婚渶姹傛暟閲�
+            ccrow.Initialize( daycolumn, quantity );
             allrow.Initialize( column, quantity );
           }
         }
@@ -102,10 +110,13 @@
       if( isdlspline and isccrent ){
         traverse( laneleg, Trip, trip, trip.Arrival() < startofnextyearlead and exists( trip, ProductInTrip, pit, pit.Quantity() <> 0 ) ){
     //      periodtime        := ( trip.Arrival() - FinancialSalesReport::GetDefaultTripLeadingTime() ).StartOfMonth().Date();
+          dayperiodtime     := trip.Departure().Date();
+          dayperiodname     := dayperiodtime.Format( "M2/D2/Y" );
           periodtime        := trip.Departure().StartOfMonth().Date();
           periodname        := periodtime.Format( "M2/D2/Y" );
           
-          column            := selectobject( table, FinancialSalesColumn, column, column.Name() = periodname and column.Period() = periodtime );
+          daycolumn         := selectobject( table, FinancialSalesColumn, column, column.Name() = dayperiodname and column.Period() = dayperiodtime and column.IsDay() );
+          column            := selectobject( table, FinancialSalesColumn, column, column.Name() = periodname and column.Period() = periodtime and not column.IsDay() );
           if( not isnull( column ) ){
             traverse( trip, ProductInTrip, pit, pit.Quantity() <> 0 ){
               product       := pit.Product_MP();
@@ -113,6 +124,7 @@
               quantity      := [Number]pit.Quantity();//鍥涜垗浜斿叆
               dlrow         := table.GetRow( dlunit, pit.Product_MP() );
               dlrow.Initialize( column, quantity );//姹囨�绘暟閲�
+              dlrow.Initialize( daycolumn, quantity );
               
               allrow        := table.GetRow( allunit, pit.Product_MP() );
               allrow.Initialize( column, quantity );

--
Gitblit v1.9.3