From 5f8bcf34b598f40388661497c74c788b13b904dc Mon Sep 17 00:00:00 2001
From: lazhen <17772815105@139.com>
Date: 星期四, 15 八月 2024 14:41:41 +0800
Subject: [PATCH] 机加件管线报表周度bug
---
_Main/BL/Type_MachiningPipelineColumn0/Attribute_StartDate.qbl | 7 +++++++
/dev/null | 7 -------
_Main/BL/Type_MachiningPipelineColumn0/Attribute_EndDate.qbl | 7 +++++++
_Main/BL/Type_MachiningPipelineReport/Method_GetColumnByUnit.qbl | 4 ++--
_Main/BL/Type_MachiningPipelineReport/Method_GenerateColumn.qbl | 4 ++--
_Main/BL/Type_MachiningPipelineSource0/StaticMethod_Initialize.qbl | 13 +++++++------
6 files changed, 25 insertions(+), 17 deletions(-)
diff --git a/_Main/BL/Type_MachiningPipelineColumn0/Attribute_EndDate.qbl b/_Main/BL/Type_MachiningPipelineColumn0/Attribute_EndDate.qbl
new file mode 100644
index 0000000..0b796c8
--- /dev/null
+++ b/_Main/BL/Type_MachiningPipelineColumn0/Attribute_EndDate.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute EndDate
+{
+ #keys: '3[415136.0.1004832687][415136.0.1004832686][415136.0.1004832688]'
+ ValueType: Date
+}
diff --git a/_Main/BL/Type_MachiningPipelineColumn0/Attribute_Period.qbl b/_Main/BL/Type_MachiningPipelineColumn0/Attribute_Period.qbl
deleted file mode 100644
index 4ee9a29..0000000
--- a/_Main/BL/Type_MachiningPipelineColumn0/Attribute_Period.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Period
-{
- #keys: '3[415136.0.886711554][415136.0.886711553][415136.0.886711555]'
- ValueType: Date
-}
diff --git a/_Main/BL/Type_MachiningPipelineColumn0/Attribute_StartDate.qbl b/_Main/BL/Type_MachiningPipelineColumn0/Attribute_StartDate.qbl
new file mode 100644
index 0000000..6a2d095
--- /dev/null
+++ b/_Main/BL/Type_MachiningPipelineColumn0/Attribute_StartDate.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StartDate
+{
+ #keys: '3[415136.0.1004832677][415136.0.1004832676][415136.0.1004832678]'
+ ValueType: Date
+}
diff --git a/_Main/BL/Type_MachiningPipelineReport/Method_GenerateColumn.qbl b/_Main/BL/Type_MachiningPipelineReport/Method_GenerateColumn.qbl
index 525a923..c4e150b 100644
--- a/_Main/BL/Type_MachiningPipelineReport/Method_GenerateColumn.qbl
+++ b/_Main/BL/Type_MachiningPipelineReport/Method_GenerateColumn.qbl
@@ -17,13 +17,13 @@
periodtime := period.StartDate();
periodname := periodtime.Format( "M2/D2/Y" );
- this.Column( relnew, Name := periodname, Period := periodtime, TimeUnit := Translations::MP_GlobalParameters_Day() );
+ this.Column( relnew, Name := periodname, StartDate := periodtime, EndDate := periodtime, TimeUnit := Translations::MP_GlobalParameters_Day() );
}
if( timeunit = 'All' or timeunit = Translations::MP_GlobalParameters_Week() ){
if( period.StartDate() = weekstart ){
weekperiodname := weekstart.Format( "M2/D2/Y" );
- this.Column( relnew, Name := weekperiodname, Period := weekstart, TimeUnit := Translations::MP_GlobalParameters_Week() );
+ this.Column( relnew, Name := weekperiodname, StartDate := weekstart, EndDate := ( weekstart + Duration::Days( 6 ) ).Date(), TimeUnit := Translations::MP_GlobalParameters_Week() );
weekstart := ( weekstart + Duration::Days( 7 ) ).Date();
}
}
diff --git a/_Main/BL/Type_MachiningPipelineReport/Method_GetColumnByUnit.qbl b/_Main/BL/Type_MachiningPipelineReport/Method_GetColumnByUnit.qbl
index 1c5b4cb..67af163 100644
--- a/_Main/BL/Type_MachiningPipelineReport/Method_GetColumnByUnit.qbl
+++ b/_Main/BL/Type_MachiningPipelineReport/Method_GetColumnByUnit.qbl
@@ -8,9 +8,9 @@
TextBody:
[*
// 鐢勫叞楦� Aug-7-2024 (created)
- periodname := period.Format( "M2/D2/Y" );
+ //periodname := period.Format( "M2/D2/Y" );
- column := selectobject( this, Column, column, column.Name() = periodname and column.Period() = period and column.TimeUnit() = unit );
+ column := selectobject( this, Column, column, column.StartDate() <= period and column.EndDate() >= period and column.TimeUnit() = unit );
return column;
*]
diff --git a/_Main/BL/Type_MachiningPipelineSource0/StaticMethod_Initialize.qbl b/_Main/BL/Type_MachiningPipelineSource0/StaticMethod_Initialize.qbl
index 3b9867c..c6a9c85 100644
--- a/_Main/BL/Type_MachiningPipelineSource0/StaticMethod_Initialize.qbl
+++ b/_Main/BL/Type_MachiningPipelineSource0/StaticMethod_Initialize.qbl
@@ -48,7 +48,7 @@
if( exists( productparents, Elements, e, e.ID() = productparent ) ){//鏌ヨ浜у搧绫诲瀷鏄彂鍔ㄦ満
row := table.GetRow( pisp.ProductID() );
products.Add( pisp.Product_MP() );
- weekstart := owner.StartOfPlanning().Date();
+ // weekstart := owner.StartOfPlanning().Date();
pispips := selectsortedset( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical()
and pispip.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Day() and ( pispip.NewSupplyQuantity() <> 0 or pispip.PlannedInventoryLevelEnd() <> 0 ), pispip.Start() );
@@ -56,7 +56,7 @@
//澶�
daycolumn := table.GetColumnByUnit( Translations::MP_GlobalParameters_Day(), pispip.Start().Date() );
//鍛�
- weekcolumn := table.GetColumnByUnit( Translations::MP_GlobalParameters_Week(), weekstart );
+ weekcolumn := table.GetColumnByUnit( Translations::MP_GlobalParameters_Week(), pispip.Start().Date() );
supplyquantity := [Number]pispip.NewSupplyQuantity();//鍥涜垗浜斿叆
inventoryquantity:= [Number]pispip.PlannedInventoryLevelEnd();//鍥涜垗浜斿叆
@@ -75,8 +75,9 @@
//搴撳瓨
if( iscc or isdl ){
row.SetCellInventoryValue( daycolumn, iscc, [Real]inventoryquantity );
- if( pispip.Start() = weekstart + Duration::Days( 6 ) or pispip.Period_MP() = endperiod ){
- weekstart := ( weekstart + Duration::Days( 7 ) ).Date();
+ if( weekcolumn.EndDate() = pispip.Start().Date() or pispip.Period_MP() = endperiod ){
+ // if( pispip.Start() = weekstart + Duration::Days( 6 ) or pispip.Period_MP() = endperiod ){
+ // weekstart := ( weekstart + Duration::Days( 7 ) ).Date();
row.SetCellInventoryValue( weekcolumn, iscc, [Real]inventoryquantity );
}
}
@@ -92,14 +93,14 @@
traverse( table, Column, column ){
cell := selectobject( row, Cell, cell, cell.Column() = column );
if( column.TimeUnit() = Translations::MP_GlobalParameters_Day() ){
- tpcell := selectobject( tprow, TransferPlanCell, tpcell, tpcell.TransferPlanColumn().ColumnDate() = column.Period() );
+ tpcell := selectobject( tprow, TransferPlanCell, tpcell, tpcell.TransferPlanColumn().ColumnDate() = column.StartDate() );
if( tprow.SourceStockpoingPointID() = 'CC' and tprow.TargetStockpoingPointID() = 'DL' ){
cell.CCTransferQty( [Real]tpcell.Value() );
}else if( tprow.SourceStockpoingPointID() = 'DL' and tprow.TargetStockpoingPointID() = 'CC' ){
cell.DLTransferQty( [Real]tpcell.Value() );
}
}else if( column.TimeUnit() = Translations::MP_GlobalParameters_Week() ){
- period := column.Period() + Duration::Days( 6 );
+ period := column.StartDate() + Duration::Days( 6 );
tpcell := selectobject( tprow, TransferPlanCell, tpcell, tpcell.TransferPlanColumn().ColumnDate() = period.Date() );
if( tprow.SourceStockpoingPointID() = 'CC' and tprow.TargetStockpoingPointID() = 'DL' ){
--
Gitblit v1.9.3