From db432910aeb08e46f68bcf1183b3ead703e208b0 Mon Sep 17 00:00:00 2001
From: lazhen <17772815105@139.com>
Date: 星期三, 03 七月 2024 15:05:43 +0800
Subject: [PATCH] 库存汇总字段调整
---
_Main/UI/MacroPlannerWebApp/Component_FormInventorySummaryReport/Response_PanelUnit_ddslUnit_OnCreated.def | 2
_Main/BL/Type_InventorySummaryReport/Method_Clear.qbl | 8
_Main/BL/Type_InventroySummaryRow/Method_SetCellValue0.qbl | 21 ++
_Main/BL/Type_FinancialSalesSource/StaticMethod_Initialize.qbl | 16 +-
_Main/UI/MacroPlannerWebApp/Component_FormFinancialProductionReport/Response_OnCreated.def | 6
_Main/UI/MacroPlannerWebApp/Component_FormInventorySummaryReport/Response_PanelCategory_RadioButtonGroupUseForPlanning_OnCreated.def | 16 ++
_Main/UI/MacroPlannerWebApp/Component_FormInventorySummaryReport/Response_PanelPeriod_DateSelectorStart_OnChanged.def | 10
_Main/UI/MacroPlannerWebApp/Component_FormFinancialSalesReport/Response_PanelUnit_715_ddslUnit_OnCreated.def | 2
_Main/UI/MacroPlannerWebApp/Component_FormInventorySummaryReport/Component_PanelPeriod.def | 1
_Main/BL/Type_InventorySummaryReport/Method_GenerateColumn.qbl | 38 ++++
_Main/BL/Type_InventorySummaryColumn/Method_GenerateCell.qbl | 41 +++++
_Main/BL/Type_InventorySummarySource/StaticMethod_Initialize.qbl | 109 +++++++++++-
_Main/UI/MacroPlannerWebApp/Component_FormInventorySummaryReport/Response_PanelPeriod_DateSelectorEnd_OnChanged.def | 10
_Main/BL/Type_FinancialSalesReport/Method_GetRow.qbl | 6
_Main/UI/MacroPlannerWebApp/Component_FormInventorySummaryReport/Response_OnCreated.def | 8
_Main/BL/Type_InventorySummaryReport/StaticMethod_GetDefaultCCUnit.qbl | 4
_Main/BL/Type_InventorySummaryReport/Method_GetRow.qbl | 6
_Main/BL/Type_InventroySummaryRow/Method_SetCellValue#0.qbl | 18 ++
_Main/UI/MacroPlannerWebApp/Component_FormFinancialSalesReport/Response_OnCreated.def | 6
_Main/BL/Type_InventorySummaryColumn/Attribute_TimeUnit.qbl | 2
/dev/null | 15 -
_Main/BL/Type_InventroySummaryRow/Method_InitializeCell.qbl | 10 -
_Main/BL/Type_InventorySummaryReport/Method_Generate.qbl | 61 ++++---
_Main/BL/Type_InventorySummaryReport/StaticMethod_GetDefaultDLUnit.qbl | 4
_Main/BL/Type_InventroySummaryRow/Method_Initialize.qbl | 2
_Main/BL/Type_FinancialSalesRow/Method_InitializeCell.qbl | 10 -
26 files changed, 312 insertions(+), 120 deletions(-)
diff --git a/_Main/BL/Relations/Relation_InventorySummaryCell_ProductInStockingPointInPeriod_ProductInStocki.qbl b/_Main/BL/Relations/Relation_InventorySummaryCell_ProductInStockingPointInPeriod_ProductInStocki.qbl
deleted file mode 100644
index b73e32a..0000000
--- a/_Main/BL/Relations/Relation_InventorySummaryCell_ProductInStockingPointInPeriod_ProductInStocki.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation InventorySummaryCell_ProductInStockingPointInPeriod_ProductInStockingPointInPeriod_InventorySummaryCell
-{
- #keys: '1[415136.0.865101866]'
- DefaultRelationStrategy
- {
- }
- RelationSide.LeftSide ProductInStockingPointInPeriod
- {
- #keys: '3[415136.0.865101868][415136.0.865101867][415136.0.865101869]'
- Cardinality: '1toN'
- ObjectDefinition: InventorySummaryCell
- OwningSide: 'Reference'
- }
- RelationSide.RightSide InventorySummaryCell
- {
- #keys: '3[415136.0.865101871][415136.0.865101870][415136.0.865101872]'
- Cardinality: '0to1'
- ObjectDefinition: ProductInStockingPointInPeriod
- OwningSide: 'Reference'
- }
-}
diff --git a/_Main/BL/Type_FinancialSalesReport/Method_GetRow.qbl b/_Main/BL/Type_FinancialSalesReport/Method_GetRow.qbl
index a656035..6cbc77d 100644
--- a/_Main/BL/Type_FinancialSalesReport/Method_GetRow.qbl
+++ b/_Main/BL/Type_FinancialSalesReport/Method_GetRow.qbl
@@ -2,9 +2,7 @@
#parent: #root
Method GetRow (
String salessegment,
- String product,
- DateTime startdate,
- DateTime enddate
+ String product
) as FinancialSalesRow
{
TextBody:
@@ -15,7 +13,7 @@
if( isnull( row ) ){
row := this.FinancialSalesRow( relnew, Name := product, Unit := salessegment );
//鍒濆鍖栧崟鍏冩牸
- row.InitializeCell( this, startdate, enddate );
+ row.InitializeCell( this );
}
return row;
diff --git a/_Main/BL/Type_FinancialSalesRow/Method_InitializeCell.qbl b/_Main/BL/Type_FinancialSalesRow/Method_InitializeCell.qbl
index 0ef49d7..0c6ebc7 100644
--- a/_Main/BL/Type_FinancialSalesRow/Method_InitializeCell.qbl
+++ b/_Main/BL/Type_FinancialSalesRow/Method_InitializeCell.qbl
@@ -1,19 +1,13 @@
Quintiq file version 2.0
#parent: #root
Method InitializeCell (
- FinancialSalesReport table,
- DateTime startdate,
- DateTime enddate
+ FinancialSalesReport table
)
{
TextBody:
[*
// 鐢勫叞楦� Jun-28-2024 (created)
- for( start := startdate; start < enddate; start := start.StartOfNextMonth() ){
- periodtime := start.Date();
- periodname := periodtime.Format( "M2/D2/Y" );
- column := selectobject( table, FinancialSalesColumn, column, column.Name() = periodname and column.Period() = periodtime );
-
+ traverse( table, FinancialSalesColumn, column ){
this.Initialize( column, this.Unit() );
}
*]
diff --git a/_Main/BL/Type_FinancialSalesSource/StaticMethod_Initialize.qbl b/_Main/BL/Type_FinancialSalesSource/StaticMethod_Initialize.qbl
index 8f63f1f..804d079 100644
--- a/_Main/BL/Type_FinancialSalesSource/StaticMethod_Initialize.qbl
+++ b/_Main/BL/Type_FinancialSalesSource/StaticMethod_Initialize.qbl
@@ -23,7 +23,7 @@
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();
- startofyear := startofplanning.StartOfYear();
+ //startofyear := startofplanning.StartOfYear();
startofnextyear := startofplanning.StartOfNextYear();
search := source.FinancialSalesSearch( relnew, Unit := allsalessegment, Generation := allsalessegment, MqbMlb := allsalessegment, Power := allsalessegment );
@@ -34,7 +34,7 @@
traverse( owner, SalesDemand.astype( Forecast ), forecast, forecast.StartDate() < startofnextyear.Date() and ( ( forecast.SalesSegmentName() = ccsalessegment and forecast.Product_MP().MQBMLB() = 'MLB' )
or forecast.SalesSegmentName() = tjsalessegment or forecast.SalesSegmentName() = fssalessegment ) ){
product := forecast.Product_MP();
- allrow := table.GetRow( allsalessegment, product.ID(), startofyear, startofnextyear );
+ allrow := table.GetRow( allsalessegment, product.ID() );
periodtime := forecast.StartDate().StartOfMonth();
periodname := periodtime.Format( "M2/D2/Y" );
@@ -47,13 +47,13 @@
//Forecast鐨凷ales Segment涓洪暱鏄ワ紝璇嗗埆鍑篗LB鐨勬墍鏈変骇鍝佹眹鎬�
if( forecast.SalesSegmentName() = ccsalessegment and product.MQBMLB() = 'MLB' ){
// info( '------------------------', column.Name() );
- ccrow := table.GetRow( ccsalessegment, product.ID(), startofyear, startofnextyear );
+ ccrow := table.GetRow( ccsalessegment, product.ID() );
// info( '------------------------', ccrow.FinancialSalesCell( relsize ), column.FinancialSalesCell( relsize ) );
ccrow.Initialize( column, forecast.Quantity() );
}else if( forecast.SalesSegmentName() = tjsalessegment or forecast.SalesSegmentName() = fssalessegment ){
//澶ц繛璐㈠姟閿�閲忥細棣栧厛鍦╢orecast鐣岄潰鏌ユ壘Sales Segment鏄ぉ娲ュ拰浣涘北鐨勬墍鏈夐渶姹傦紝姣忎釜浜у搧鎸夋湀姹囨�婚渶姹傛暟閲�
// info( '------------------------', column.Name() );
- dlrow := table.GetRow( dlsalessegment, product.ID(), startofyear, startofnextyear );
+ dlrow := table.GetRow( dlsalessegment, product.ID() );
// info( '------------------------', dlrow.FinancialSalesCell( relsize ), column.FinancialSalesCell( relsize ) );
dlrow.Initialize( column, forecast.Quantity() );
}
@@ -67,10 +67,10 @@
periodtime := pispip.Start().StartOfMonth().Date();
periodname := periodtime.Format( "M2/D2/Y" );
column := selectobject( table, FinancialSalesColumn, column, column.Name() = periodname and column.Period() = periodtime );
- ccrow := table.GetRow( ccsalessegment, product.ID(), startofyear, startofnextyear );
+ ccrow := table.GetRow( ccsalessegment, product.ID() );
ccrow.Initialize( column, pispip.DependentDemandAndSalesDemandQuantity() );//鍙朤otal Demand瀛楁鎸夋湀姹囨�婚渶姹傛暟閲�
- allrow := table.GetRow( allsalessegment, product.ID(), startofyear, startofnextyear );
+ allrow := table.GetRow( allsalessegment, product.ID() );
allrow.Initialize( column, pispip.DependentDemandAndSalesDemandQuantity() );
}
}
@@ -84,10 +84,10 @@
column := selectobject( table, FinancialSalesColumn, column, column.Name() = periodname and column.Period() = periodtime );
traverse( trip, ProductInTrip, pit ){
- dlrow := table.GetRow( dlsalessegment, pit.ProductID(), startofyear, startofnextyear );
+ dlrow := table.GetRow( dlsalessegment, pit.ProductID() );
dlrow.Initialize( column, pit.Quantity() );//鍙朤otal Demand瀛楁鎸夋湀姹囨�婚渶姹傛暟閲�
- allrow := table.GetRow( allsalessegment, pit.ProductID(), startofyear, startofnextyear );
+ allrow := table.GetRow( allsalessegment, pit.ProductID() );
allrow.Initialize( column, pit.Quantity() );
}
}
diff --git a/_Main/BL/Type_InventorySummaryCell/Function_CalcAverageInventory.qbl b/_Main/BL/Type_InventorySummaryCell/Function_CalcAverageInventory.qbl
deleted file mode 100644
index 976add9..0000000
--- a/_Main/BL/Type_InventorySummaryCell/Function_CalcAverageInventory.qbl
+++ /dev/null
@@ -1,13 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Function CalcAverageInventory
-{
- TextBody:
- [*
- // 鐢勫叞楦� Jul-1-2024 (created)
-
- value := average( this, ProductInStockingPointInPeriod, pispip, pispip.PlannedInventoryLevelEnd() );
-
- this.AverageInventory( value );
- *]
-}
diff --git a/_Main/BL/Type_InventorySummaryCell/Function_CalcEndingInventory.qbl b/_Main/BL/Type_InventorySummaryCell/Function_CalcEndingInventory.qbl
deleted file mode 100644
index 7fcd1da..0000000
--- a/_Main/BL/Type_InventorySummaryCell/Function_CalcEndingInventory.qbl
+++ /dev/null
@@ -1,13 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Function CalcEndingInventory
-{
- TextBody:
- [*
- // 鐢勫叞楦� Jul-1-2024 (created)
-
- value := maxobject( this, ProductInStockingPointInPeriod, pispip, pispip.Start() );
-
- this.EndingInventory( value.PlannedInventoryLevelEnd() );
- *]
-}
diff --git a/_Main/BL/Type_InventorySummaryCell/Function_CalcMaximumInventory.qbl b/_Main/BL/Type_InventorySummaryCell/Function_CalcMaximumInventory.qbl
deleted file mode 100644
index db9ad44..0000000
--- a/_Main/BL/Type_InventorySummaryCell/Function_CalcMaximumInventory.qbl
+++ /dev/null
@@ -1,13 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Function CalcMaximumInventory
-{
- TextBody:
- [*
- // 鐢勫叞楦� Jul-1-2024 (created)
-
- value := max( this, ProductInStockingPointInPeriod, pispip, pispip.PlannedInventoryLevelEnd() );
-
- this.MaximumInventory( value );
- *]
-}
diff --git a/_Main/BL/Type_InventorySummaryCell/Function_CalcMinimumInventory.qbl b/_Main/BL/Type_InventorySummaryCell/Function_CalcMinimumInventory.qbl
deleted file mode 100644
index e730b7c..0000000
--- a/_Main/BL/Type_InventorySummaryCell/Function_CalcMinimumInventory.qbl
+++ /dev/null
@@ -1,13 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Function CalcMinimumInventory
-{
- TextBody:
- [*
- // 鐢勫叞楦� Jul-1-2024 (created)
-
- value := min( this, ProductInStockingPointInPeriod, pispip, pispip.PlannedInventoryLevelEnd() );
-
- this.MinimumInventory( value );
- *]
-}
diff --git a/_Main/BL/Type_InventorySummaryColumn/Attribute_Category.qbl b/_Main/BL/Type_InventorySummaryColumn/Attribute_TimeUnit.qbl
similarity index 89%
rename from _Main/BL/Type_InventorySummaryColumn/Attribute_Category.qbl
rename to _Main/BL/Type_InventorySummaryColumn/Attribute_TimeUnit.qbl
index 2674d93..9090596 100644
--- a/_Main/BL/Type_InventorySummaryColumn/Attribute_Category.qbl
+++ b/_Main/BL/Type_InventorySummaryColumn/Attribute_TimeUnit.qbl
@@ -1,6 +1,6 @@
Quintiq file version 2.0
#parent: #root
-Attribute Category
+Attribute TimeUnit
{
#keys: '3[415136.0.865101993][415136.0.865101992][415136.0.865101994]'
Description: 'day;week;month'
diff --git a/_Main/BL/Type_InventorySummaryColumn/Method_GenerateCell.qbl b/_Main/BL/Type_InventorySummaryColumn/Method_GenerateCell.qbl
new file mode 100644
index 0000000..a85f1cd
--- /dev/null
+++ b/_Main/BL/Type_InventorySummaryColumn/Method_GenerateCell.qbl
@@ -0,0 +1,41 @@
+Quintiq file version 2.0
+#parent: #root
+Method GenerateCell (
+ InventoryPointSelections selections,
+ Strings ccstockingpointids,
+ Strings dlstockingpointids,
+ InventorySummaryReport table,
+ Date start,
+ Date end,
+ String productid,
+ String allunit,
+ String ccunit,
+ String dlunit
+)
+{
+ TextBody:
+ [*
+ // 鐢勫叞楦� Jul-3-2024 (created)
+ //All
+ alldetails := selectset( selections, Elements.InventoryInterfaceDataDetail, detail, detail.PartNumber() = productid and detail.Date() >= start and detail.Date() <= end );
+ if( alldetails.Size() > 0 ){
+ allrow := table.GetRow( allunit, productid );
+ allvalue := sum( alldetails, Elements, e, e.Quantity() );
+ allrow.SetCellValue( this, allvalue );
+ //闀挎槬
+ ccdetails := selectset( alldetails, Elements, detail, ccstockingpointids.Find( detail.InventoryPointSelection().StockpoingPoint() ) >= 0 );
+ if( ccdetails.Size() > 0 ){
+ ccrow := table.GetRow( ccunit, productid );
+ value := sum( ccdetails, Elements, e, e.Quantity() );
+ ccrow.SetCellValue( this, value );
+ }
+ //澶ц繛
+ dldetails := selectset( alldetails, Elements, detail, dlstockingpointids.Find( detail.InventoryPointSelection().StockpoingPoint() ) >= 0 );
+ if( dldetails.Size() > 0 ){
+ dlrow := table.GetRow( dlunit, productid );
+ value := sum( dldetails, Elements, e, e.Quantity() );
+ dlrow.SetCellValue( this, value );
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_InventorySummaryReport/Method_Clear.qbl b/_Main/BL/Type_InventorySummaryReport/Method_Clear.qbl
index ec171dc..25d5339 100644
--- a/_Main/BL/Type_InventorySummaryReport/Method_Clear.qbl
+++ b/_Main/BL/Type_InventorySummaryReport/Method_Clear.qbl
@@ -1,6 +1,10 @@
Quintiq file version 2.0
#parent: #root
-Method Clear
+Method Clear (
+ String timeunit,
+ DateTime starttime,
+ DateTime endtime
+)
{
TextBody:
[*
@@ -8,6 +12,6 @@
this.InventorySummaryColumn( relflush );
this.InventroySummaryRow( relflush );
- this.GenerateColumn( this.InventorySummarySource().MacroPlan() );
+ this.GenerateColumn( this.InventorySummarySource().MacroPlan(), timeunit, starttime, endtime );
*]
}
diff --git a/_Main/BL/Type_InventorySummaryReport/Method_Generate.qbl b/_Main/BL/Type_InventorySummaryReport/Method_Generate.qbl
index 8fbefce..f2bc208 100644
--- a/_Main/BL/Type_InventorySummaryReport/Method_Generate.qbl
+++ b/_Main/BL/Type_InventorySummaryReport/Method_Generate.qbl
@@ -8,35 +8,40 @@
TextBody:
[*
// 鐢勫叞楦� Jun-25-2024 (created)
- table := selectobject( this, InventorySummarySource.InventorySummaryReport, report, not report.IsShow() );
- allunit := '<All>';
- //娓呯┖涔嬪墠瀛樺偍鐨勬樉绀烘暟鎹�
- this.Clear();
- //杩囨护鍚庣殑浜у搧id
- productids := selectuniquevalues( products, Elements, product, ( search.Generation() = allunit or product.Generation() = search.Generation() )
- and ( search.MqbMlb() = allunit or product.MQBMLB() = search.MqbMlb() )
- and ( search.Power() = allunit or product.Power() = search.Power() ), product.ID() );
- sumrow := this.InventroySummaryRow( relnew, Name := 'SUM', Unit := search.Unit(), RowNr := table.InventroySummaryRow( relsize ) );
- traverse( table, InventroySummaryRow, row, row.Unit() = search.Unit() ){
- productid := construct( Strings );
- productid.Add( row.Name() );
-
- if( productids.ContainsAll( productid ) ){
- showrow := this.InventroySummaryRow( relnew, Name := row.Name(), Unit := row.Unit(), RowNr := row.RowNr() );
+ startofplanning := search.InventorySummarySource().MacroPlan().StartOfPlanning();
+ startofyear := startofplanning.StartOfYear();
+ startofendyear := startofplanning.StartOfNextYear() - Duration::Days( 1 );
+ //鏌ヨ鏃ユ湡杩斿洖闇�瑕佸湪璁″垝鏃ユ湡涔嬪唴
+ if( search.StartDate().DateTime() < startofendyear and search.EndDate().DateTime() > startofyear ){
+ table := selectobject( this, InventorySummarySource.InventorySummaryReport, report, not report.IsShow() );
+ allunit := '<All>';
+ //娓呯┖涔嬪墠瀛樺偍鐨勬樉绀烘暟鎹�
+ this.Clear( search.Category(), search.StartDate().DateTime(), search.EndDate().DateTime() );
+ //杩囨护鍚庣殑浜у搧id
+ productids := selectuniquevalues( products, Elements, product, ( search.Generation() = allunit or product.Generation() = search.Generation() )
+ and ( search.MqbMlb() = allunit or product.MQBMLB() = search.MqbMlb() )
+ and ( search.Power() = allunit or product.Power() = search.Power() ), product.ID() );
+ sumrow := this.InventroySummaryRow( relnew, Name := 'SUM', Unit := search.Unit(), RowNr := table.InventroySummaryRow( relsize ) );
+ sumrow.InitializeCell( this );
+ traverse( table, InventroySummaryRow, row, row.Unit() = search.Unit() ){
+ productid := construct( Strings );
+ productid.Add( row.Name() );
- traverse( row, InventorySummaryCell, cell ){
- // column := selectobject( this, InventorySummaryColumn, column, column.Name() = cell.InventorySummaryColumn().Name() );
- //
- // sumcell := selectobject( column, InventorySummaryCell, c, c.InventroySummaryRow() = sumrow );
- // if( isnull( sumcell ) ){
- // sumcell := column.InventorySummaryCell( relnew, Value := '0' );
- // sumrow.InventorySummaryCell( relinsert, sumcell );
- // }
- //
- // showcell := column.InventorySummaryCell( relnew, Value := cell.Value() );
- // showrow.InventorySummaryCell( relinsert, showcell );
- // value := [Real]cell.Value() + [Real]sumcell.Value();
- // sumcell.Value( [String]value );
+ if( productids.ContainsAll( productid ) ){
+ showrow := this.InventroySummaryRow( relnew, Name := row.Name(), Unit := row.Unit(), RowNr := row.RowNr() );
+
+ traverse( row, InventorySummaryCell, cell, cell.InventorySummaryColumn().TimeUnit() = search.Category() ){
+ column := selectobject( this, InventorySummaryColumn, column, column.Name() = cell.InventorySummaryColumn().Name() );
+
+ sumcell := selectobject( column, InventorySummaryCell, c, c.InventroySummaryRow() = sumrow );
+
+ showcell := column.InventorySummaryCell( relnew, EndingInventory := cell.EndingInventory(), MinimumInventory := cell.MinimumInventory(), MaximumInventory := cell.MaximumInventory(), AverageInventory := cell.AverageInventory() );
+ showrow.InventorySummaryCell( relinsert, showcell );
+ sumcell.EndingInventory( sumcell.EndingInventory() + cell.EndingInventory() );
+ sumcell.MinimumInventory( sumcell.MinimumInventory() + cell.MinimumInventory() );
+ sumcell.MaximumInventory( sumcell.MaximumInventory() + cell.MaximumInventory() );
+ sumcell.AverageInventory( sumcell.AverageInventory() + cell.AverageInventory() );
+ }
}
}
}
diff --git a/_Main/BL/Type_InventorySummaryReport/Method_GenerateColumn.qbl b/_Main/BL/Type_InventorySummaryReport/Method_GenerateColumn.qbl
index bce7074..1b7156e 100644
--- a/_Main/BL/Type_InventorySummaryReport/Method_GenerateColumn.qbl
+++ b/_Main/BL/Type_InventorySummaryReport/Method_GenerateColumn.qbl
@@ -1,7 +1,10 @@
Quintiq file version 2.0
#parent: #root
Method GenerateColumn (
- MacroPlan owner
+ MacroPlan owner,
+ String timeunit,
+ DateTime starttime,
+ DateTime endtime
)
{
TextBody:
@@ -9,12 +12,37 @@
// 鐢勫叞楦� Jun-25-2024 (created)
startofplanning := owner.StartOfPlanning();
startofyear := startofplanning.StartOfYear();
- startofnextyear := startofplanning.StartOfNextYear();
-
- for( start := startofyear; start < startofnextyear; start := start.StartOfNextMonth() ){
+ startofendyear := startofplanning.StartOfNextYear() - Duration::Days( 1 );
+ //鏌ヨ鏃ユ湡杩斿洖闇�瑕佸湪璁″垝鏃ユ湡涔嬪唴
+ if( starttime < startofendyear and endtime > startofyear ){
+ if( starttime < startofyear ){
+ starttime := startofyear;
+ }
+ if( endtime > startofendyear ){
+ endtime := startofendyear;
+ }
+ for( start := starttime; start <= endtime; start := start.StartOfNextDay() ){
periodtime := start.Date();
periodname := periodtime.Format( "M2/D2/Y" );
- this.InventorySummaryColumn( relnew, Name := periodname, Period := periodtime );
+
+ if( timeunit = 'All' or timeunit = Translations::MP_GlobalParameters_Day() ){
+ this.InventorySummaryColumn( relnew, Name := periodname, Period := periodtime, TimeUnit := Translations::MP_GlobalParameters_Day() );
+ }
+ if( timeunit = 'All' or timeunit = Translations::MP_GlobalParameters_Week() ){
+ weekend := ( start.StartOfNextWeek() - Duration::Days( 1 ) ).Date();
+
+ if( periodtime = weekend ){
+ this.InventorySummaryColumn( relnew, Name := periodname, Period := periodtime, TimeUnit := Translations::MP_GlobalParameters_Week() );
+ }
+ }
+ if( timeunit = 'All' or timeunit = Translations::MP_GlobalParameters_Month() ){
+ monthend := ( start.StartOfNextMonth() - Duration::Days( 1 ) ).Date();
+
+ if( periodtime = monthend ){
+ this.InventorySummaryColumn( relnew, Name := periodname, Period := periodtime, TimeUnit := Translations::MP_GlobalParameters_Month() );
+ }
+ }
+ }
}
*]
}
diff --git a/_Main/BL/Type_InventorySummaryReport/Method_GetRow.qbl b/_Main/BL/Type_InventorySummaryReport/Method_GetRow.qbl
index c11af49..7fc4aeb 100644
--- a/_Main/BL/Type_InventorySummaryReport/Method_GetRow.qbl
+++ b/_Main/BL/Type_InventorySummaryReport/Method_GetRow.qbl
@@ -2,9 +2,7 @@
#parent: #root
Method GetRow (
String unit,
- String product,
- DateTime startdate,
- DateTime enddate
+ String product
) as InventroySummaryRow
{
TextBody:
@@ -15,7 +13,7 @@
if( isnull( row ) ){
row := this.InventroySummaryRow( relnew, Name := product, Unit := unit );
//鍒濆鍖栧崟鍏冩牸
- row.InitializeCell( this, startdate, enddate );
+ row.InitializeCell( this );
}
return row;
diff --git a/_Main/BL/Type_InventorySummaryReport/StaticMethod_GetDefaultCCUnit.qbl b/_Main/BL/Type_InventorySummaryReport/StaticMethod_GetDefaultCCUnit.qbl
index 6b92234..8379d63 100644
--- a/_Main/BL/Type_InventorySummaryReport/StaticMethod_GetDefaultCCUnit.qbl
+++ b/_Main/BL/Type_InventorySummaryReport/StaticMethod_GetDefaultCCUnit.qbl
@@ -5,7 +5,7 @@
TextBody:
[*
// 鐢勫叞楦� Jun-28-2024 (created)
- return '闀挎槬';
- //return 'China';
+ //return '闀挎槬';
+ return 'Assembly Plant (France)';
*]
}
diff --git a/_Main/BL/Type_InventorySummaryReport/StaticMethod_GetDefaultDLUnit.qbl b/_Main/BL/Type_InventorySummaryReport/StaticMethod_GetDefaultDLUnit.qbl
index f21ff7d..6bc2a6f 100644
--- a/_Main/BL/Type_InventorySummaryReport/StaticMethod_GetDefaultDLUnit.qbl
+++ b/_Main/BL/Type_InventorySummaryReport/StaticMethod_GetDefaultDLUnit.qbl
@@ -5,7 +5,7 @@
TextBody:
[*
// 鐢勫叞楦� Jun-28-2024 (created)
- return '澶ц繛';
- //return 'Foregin';
+ //return '澶ц繛';
+ return 'Assembly Plant (Spain)';
*]
}
diff --git a/_Main/BL/Type_InventorySummarySource/StaticMethod_Initialize.qbl b/_Main/BL/Type_InventorySummarySource/StaticMethod_Initialize.qbl
index 6ed8f07..183c900 100644
--- a/_Main/BL/Type_InventorySummarySource/StaticMethod_Initialize.qbl
+++ b/_Main/BL/Type_InventorySummarySource/StaticMethod_Initialize.qbl
@@ -1,7 +1,8 @@
Quintiq file version 2.0
#parent: #root
StaticMethod Initialize (
- MacroPlan owner
+ MacroPlan owner,
+ InterfaceDataset interface
)
{
Description: '鍒濆鍖�'
@@ -23,25 +24,105 @@
search := source.InventorySummarySearch( relnew, Unit := allunit, Generation := allunit, MqbMlb := allunit, Power := allunit, StartDate := Date::MinDate(), EndDate := Date::MaxDate() );
- table.GenerateColumn( owner );
-
- //浠嶱roduct planning鏌ユ壘搴撳瓨鐐逛负闀挎槬瑁呴厤绾胯竟搴撶殑鎵�鏈塎QB浜у搧锛屽彇Total Demand瀛楁鎸夋湀姹囨�婚渶姹傛暟閲�
+ table.GenerateColumn( owner, 'All', startofyear, startofnextyear );
+ //info( '-----------------------------------', table.InventorySummaryColumn( relsize ) );
+ //搴撳瓨鏁伴噺涓篈ctual inventories閲岄潰鐨勭偣Planned inventories瀛楁搴撳瓨閲忓姞鎬�
traverse( owner, Product_MP.ProductInStockingPoint_MP, pisp, pisp.IsLeaf() and not pisp.IsSystem() and ( pisp.StockingPoint_MP().UnitID() = ccunit or pisp.StockingPoint_MP().UnitID() = dlunit ) ){
unit := pisp.StockingPoint_MP().UnitID();
product := pisp.Product_MP();
- traverse( pisp, ProductInStockingPointInPeriod, pispip, pispip.Start() >= startofplanning
- and pispip.Start() < startofnextyear and pispip.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Month() ){
- periodtime := pispip.Start().StartOfMonth().Date();
- periodname := periodtime.Format( "M2/D2/Y" );
- column := selectobject( table, InventorySummaryColumn, column, column.Name() = periodname and column.Period() = periodtime );
- ccrow := table.GetRow( ccunit, product.ID(), startofyear, startofnextyear );
- ccrow.Initialize( column, pispip );//鍙朤otal Demand瀛楁鎸夋湀姹囨�婚渶姹傛暟閲�
+ // info( '-----------------------------------', unit, product.ID() );
+ weekpispips := construct( ProductInStockingPointInPeriods );
+ monthpispips := construct( ProductInStockingPointInPeriods );
+ nextweek := startofplanning.StartOfNextWeek();
+ nextmonth := startofplanning.StartOfNextMonth();
+
+ unitrow := table.GetRow( unit, product.ID() );
+ allrow := table.GetRow( allunit, product.ID() );
+ pispips := selectsortedset( pisp, ProductInStockingPointInPeriod, pispip, pispip.Start() >= startofplanning and pispip.Start() < startofnextyear and pispip.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Day(), pispip.Start() );
+ info( '-----------------------------------', isnull( allrow ), pispips.Size() );
+ traverse( pispips, Elements, pispip ){
+ info( '-----------------------------------', pispip.Start() );
+ period := pispip.Period_MP();
+ periodtime := period.Start().Date();
+ periodname := periodtime.Format( "M2/D2/Y" );
+ //澶╋紝閫夋嫨鏃ラ绮掑害鏃讹紝鏈熸湯搴撳瓨锛屾渶灏忓簱瀛橈紝鏈�澶у簱瀛樺拰骞冲潎搴撳瓨鐨勬暟鍊间繚鎸佷竴鑷�
+ daycolumn := selectobject( table, InventorySummaryColumn, column, column.Name() = periodname, column.Period() = periodtime, column.TimeUnit() = Translations::MP_GlobalParameters_Day() );
+ unitrow.SetCellValue( daycolumn, pispip.PlannedInventoryLevelEnd() );
+ allrow.SetCellValue( daycolumn, pispip.PlannedInventoryLevelEnd() );
+
+ //鍛紝閫夋嫨鍛ㄦ椂锛屾湡鏈簱瀛樹负姣忎竴鍛ㄦ渶鍚庝竴澶╃殑姹囨�诲簱瀛樹俊鎭紝鏈�灏忓簱瀛樹负杩欎竴鍛ㄥ簱瀛橀噺鏈�灏忕殑涓�澶╃殑鏁板�硷紝鏈�澶у簱瀛樹负杩欎竴鍛ㄥ簱瀛橀噺鏈�澶х殑涓�澶╃殑鏁板�硷紝骞冲潎搴撳瓨涓鸿鍛ㄧ殑骞冲潎鍊�
+ if( period.Start() < nextweek ){
+ weekpispips.Add( pispip );
- allrow := table.GetRow( allunit, product.ID(), startofyear, startofnextyear );
- allrow.Initialize( column, pispip );
+ weekend := nextweek - Duration::Days( 1 );
+ if( period.Start() = weekend ){
+ weekcolumn := selectobject( table, InventorySummaryColumn, column, column.Name() = periodname, column.Period() = periodtime, column.TimeUnit() = Translations::MP_GlobalParameters_Week() );
+
+ maxinventory := max( weekpispips, Elements, e, e.PlannedInventoryLevelEnd() );
+ mininventory := min( weekpispips, Elements, e, e.PlannedInventoryLevelEnd() );
+ aveinventory := average( weekpispips, Elements, e, e.PlannedInventoryLevelEnd() );
+ unitrow.SetCellValue( weekcolumn, pispip.PlannedInventoryLevelEnd(), mininventory, maxinventory, aveinventory );
+ allrow.SetCellValue( weekcolumn, pispip.PlannedInventoryLevelEnd(), mininventory, maxinventory, aveinventory );
+ }
+ }else{
+ weekpispips.Flush();
+ weekpispips.Add( pispip );
+ nextweek := nextweek.StartOfNextWeek();
}
+
+ //鏈堬紝閫夋嫨鏈堟椂锛屾湡鏈簱瀛樹负姣忎竴鏈堟渶鍚庝竴澶╃殑姹囨�诲簱瀛樹俊鎭紝鏈�灏忓簱瀛樹负杩欎竴涓湀搴撳瓨閲忔渶灏忕殑涓�澶╃殑鏁板�硷紝鏈�澶у簱瀛樹负杩欎竴涓湀搴撳瓨閲忔渶澶х殑涓�澶╃殑鏁板�硷紝骞冲潎搴撳瓨涓鸿鏈堢殑骞冲潎鍊�
+ if( period.Start() < nextmonth ){
+ monthpispips.Add( pispip );
+
+ monthend := nextmonth - Duration::Days( 1 );
+ if( period.Start() = monthend ){
+ monthcolumn := selectobject( table, InventorySummaryColumn, column, column.Name() = periodname, column.Period() = periodtime, column.TimeUnit() = Translations::MP_GlobalParameters_Month() );
+
+ maxinventory := max( monthpispips, Elements, e, e.PlannedInventoryLevelEnd() );
+ mininventory := min( monthpispips, Elements, e, e.PlannedInventoryLevelEnd() );
+ aveinventory := average( monthpispips, Elements, e, e.PlannedInventoryLevelEnd() );
+ unitrow.SetCellValue( monthcolumn, pispip.PlannedInventoryLevelEnd(), mininventory, maxinventory, aveinventory );
+ allrow.SetCellValue( monthcolumn, pispip.PlannedInventoryLevelEnd(), mininventory, maxinventory, aveinventory );
+ }
+ }else{
+ monthpispips.Flush();
+ monthpispips.Add( pispip );
+ nextmonth := nextmonth.StartOfNextMonth();
+ }
+ }
}
-
+ //棣栧厛鍦‥ntities閲岃瘑鍒埗绾nit涓洪暱鏄�/澶ц繛鐨勬墍鏈夊簱瀛樼偣
+ //闀挎槬搴撳瓨鐐�
+ ccsps := construct( Strings );
+ //澶ц繛搴撳瓨鐐�
+ dlsps := construct( Strings );
+ allsps := construct( Strings );
+ traverse( owner, Unit, unit, unit.ID() = ccunit or unit.ID() = dlunit ){
+ if( unit.ID() = ccunit ){
+ ccsps := selectuniquevalues( unit, StockingPoint_MP, sp, sp.ID() );
+ }
+ if( unit.ID() = dlunit ){
+ dlsps := selectuniquevalues( unit, StockingPoint_MP, sp, sp.ID() );
+ }
+ allsps := allsps.Union( selectuniquevalues( unit, StockingPoint_MP, sp, sp.ID() ) );
+ }
+ //鍐嶅湪搴撳瓨鏇存柊鐨勫瓙鐣岄潰搴撳瓨鐐归�夋嫨涓壘鍒拌繖浜涘簱瀛樼偣鎵�鍏宠仈鐨勫凡鍕鹃�夊簱浣�
+ selections := selectset( interface, InventoryPointSelection, selection, allsps.Find( selection.StockpoingPoint() ) >= 0 and selection.IsIncluded() );
+ productids := selectuniquevalues( selections, Elements, selection, selection.ProductID() );
+ //鏈�鍚庡皢杩欎簺搴撲綅涓浂浠跺彿鐨勬暟閲忚繘琛屽姞鎬�
+ traverse( table, InventorySummaryColumn, column, column.Period() < startofplanning.Date() ){
+ traverse( productids, Elements, productid ){
+ if( column.TimeUnit() = Translations::MP_GlobalParameters_Day() ){//澶�
+ column.GenerateCell( selections, ccsps, dlsps, table, column.Period(), column.Period(), productid, allunit, ccunit, dlunit );
+ }else if( column.TimeUnit() = Translations::MP_GlobalParameters_Week() ){//鍛�
+ column.GenerateCell( selections, ccsps, dlsps, table, column.Period().StartOfWeek(), column.Period(), productid, allunit, ccunit, dlunit );
+ }else if( column.TimeUnit() = Translations::MP_GlobalParameters_Month() ){//鏈�
+ column.GenerateCell( selections, ccsps, dlsps, table, column.Period().StartOfMonth(), column.Period(), productid, allunit, ccunit, dlunit );
+ }
+ }
+ }
+
+
rows := selectsortedset( table, InventroySummaryRow, row, row.Name() );
i := 0;
traverse( rows, Elements, e ){
diff --git "a/_Main/BL/Type_InventroySummaryRow/Method_Initialize\0430.qbl" "b/_Main/BL/Type_InventroySummaryRow/Method_Initialize\0430.qbl"
deleted file mode 100644
index ec79cf4..0000000
--- "a/_Main/BL/Type_InventroySummaryRow/Method_Initialize\0430.qbl"
+++ /dev/null
@@ -1,15 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Method Initialize (
- InventorySummaryColumn column,
- ProductInStockingPointInPeriod pispip
-)
-{
- TextBody:
- [*
- // 鐢勫叞楦� Jun-24-2024 (created)
- cell := selectobject( this, InventorySummaryCell, cell, cell.InventorySummaryColumn() = column );
-
- cell.ProductInStockingPointInPeriod( relinsert, pispip );
- *]
-}
diff --git a/_Main/BL/Type_InventroySummaryRow/Method_Initialize.qbl b/_Main/BL/Type_InventroySummaryRow/Method_Initialize.qbl
index fbffb32..4adcb27 100644
--- a/_Main/BL/Type_InventroySummaryRow/Method_Initialize.qbl
+++ b/_Main/BL/Type_InventroySummaryRow/Method_Initialize.qbl
@@ -8,7 +8,7 @@
TextBody:
[*
// 鐢勫叞楦� Jun-24-2024 (created)
- cell := column.InventorySummaryCell( relnew );
+ cell := column.InventorySummaryCell( relnew, AverageInventory := 0, EndingInventory := 0, MaximumInventory := 0, MinimumInventory := 0 );
this.InventorySummaryCell( relinsert, cell );
*]
diff --git a/_Main/BL/Type_InventroySummaryRow/Method_InitializeCell.qbl b/_Main/BL/Type_InventroySummaryRow/Method_InitializeCell.qbl
index a619b37..46259bb 100644
--- a/_Main/BL/Type_InventroySummaryRow/Method_InitializeCell.qbl
+++ b/_Main/BL/Type_InventroySummaryRow/Method_InitializeCell.qbl
@@ -1,19 +1,13 @@
Quintiq file version 2.0
#parent: #root
Method InitializeCell (
- InventorySummaryReport table,
- DateTime startdate,
- DateTime enddate
+ InventorySummaryReport table
)
{
TextBody:
[*
// 鐢勫叞楦� Jun-28-2024 (created)
- for( start := startdate; start < enddate; start := start.StartOfNextMonth() ){
- periodtime := start.Date();
- periodname := periodtime.Format( "M2/D2/Y" );
- column := selectobject( table, InventorySummaryColumn, column, column.Name() = periodname and column.Period() = periodtime );
-
+ traverse( table, InventorySummaryColumn, column ){
this.Initialize( column, this.Unit() );
}
*]
diff --git "a/_Main/BL/Type_InventroySummaryRow/Method_SetCellValue\0430.qbl" "b/_Main/BL/Type_InventroySummaryRow/Method_SetCellValue\0430.qbl"
new file mode 100644
index 0000000..20f91c4
--- /dev/null
+++ "b/_Main/BL/Type_InventroySummaryRow/Method_SetCellValue\0430.qbl"
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: #root
+Method SetCellValue (
+ InventorySummaryColumn column,
+ Real quantity
+)
+{
+ TextBody:
+ [*
+ // 鐢勫叞楦� Jun-24-2024 (created)
+ cell := selectobject( this, InventorySummaryCell, cell, cell.InventorySummaryColumn() = column );
+
+ cell.AverageInventory( cell.AverageInventory() + quantity );
+ cell.EndingInventory( cell.EndingInventory() + quantity );
+ cell.MaximumInventory( cell.MaximumInventory() + quantity );
+ cell.MinimumInventory( cell.MinimumInventory() + quantity );
+ *]
+}
diff --git a/_Main/BL/Type_InventroySummaryRow/Method_SetCellValue0.qbl b/_Main/BL/Type_InventroySummaryRow/Method_SetCellValue0.qbl
new file mode 100644
index 0000000..7f6b3b2
--- /dev/null
+++ b/_Main/BL/Type_InventroySummaryRow/Method_SetCellValue0.qbl
@@ -0,0 +1,21 @@
+Quintiq file version 2.0
+#parent: #root
+Method SetCellValue (
+ InventorySummaryColumn column,
+ Real endinginventory,
+ Real minimuminventory,
+ Real maximuminventory,
+ Real averageinventory
+)
+{
+ TextBody:
+ [*
+ // 鐢勫叞楦� Jun-24-2024 (created)
+ cell := selectobject( this, InventorySummaryCell, cell, cell.InventorySummaryColumn() = column );
+
+ cell.AverageInventory( cell.AverageInventory() + averageinventory );
+ cell.EndingInventory( cell.EndingInventory() + endinginventory );
+ cell.MaximumInventory( cell.MaximumInventory() + maximuminventory );
+ cell.MinimumInventory( cell.MinimumInventory() + minimuminventory );
+ *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormFinancialProductionReport/Response_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormFinancialProductionReport/Response_OnCreated.def
index 62f7985..d90dc62 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormFinancialProductionReport/Response_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormFinancialProductionReport/Response_OnCreated.def
@@ -10,12 +10,12 @@
Body:
[*
//鍒濆鍖�
- if( not exists( MacroPlan, FinancialProductionSource, source, not source.IsImport() ) ){
+ //if( not exists( MacroPlan, FinancialProductionSource, source, not source.IsImport() ) ){
FinancialProductionSource::Initialize( MacroPlan );
- }
+ //}
//info( '------------------1----------------' );
table := selectobject( MacroPlan, FinancialProductionSource.FinancialProductionReport, table, not table.IsImport() and table.IsShow() );
- info( '------------------2----------------', table.IsImport(), table.IsShow() );
+ //info( '------------------2----------------', table.IsImport(), table.IsShow() );
DataHolderTable.Data( table );
dhSearch.Data( table.FinancialProductionSource().FinancialProductionSearch() );
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormFinancialSalesReport/Response_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormFinancialSalesReport/Response_OnCreated.def
index 533640c..68f009c 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormFinancialSalesReport/Response_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormFinancialSalesReport/Response_OnCreated.def
@@ -9,12 +9,12 @@
{
Body:
[*
- if( not exists( MacroPlan, FinancialSalesSource, source, not source.IsImport() ) ){
+ //if( not exists( MacroPlan, FinancialSalesSource, source, not source.IsImport() ) ){
FinancialSalesSource::Initialize( MacroPlan );
- }
+ //}
//info( '------------------1----------------' );
table := selectobject( MacroPlan, FinancialSalesSource.FinancialSalesReport, table, not table.IsImport() and table.IsShow() );
- info( '------------------2----------------', table.IsImport(), table.IsShow() );
+ //info( '------------------2----------------', table.IsImport(), table.IsShow() );
DataHolderTable.Data( table );
dhSearch.Data( table.FinancialSalesSource().FinancialSalesSearch() );
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormFinancialSalesReport/Response_PanelUnit_715_ddslUnit_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormFinancialSalesReport/Response_PanelUnit_715_ddslUnit_OnCreated.def
index 5a4d8e6..5424b65 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormFinancialSalesReport/Response_PanelUnit_715_ddslUnit_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormFinancialSalesReport/Response_PanelUnit_715_ddslUnit_OnCreated.def
@@ -10,7 +10,7 @@
Body:
[*
- valueString := "<All>;" + FinancialProductionReport::GetDefaultCCUnit() + ";" + FinancialProductionReport::GetDefaultDLUnit();
+ valueString := "<All>;" + FinancialSalesReport::GetSalesSegmentCC() + ";" + FinancialSalesReport::GetSalesSegmentDL();
this.Strings( valueString );
*]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInventorySummaryReport/Component_PanelPeriod.def b/_Main/UI/MacroPlannerWebApp/Component_FormInventorySummaryReport/Component_PanelPeriod.def
index bc6b316..188ac98 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormInventorySummaryReport/Component_PanelPeriod.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormInventorySummaryReport/Component_PanelPeriod.def
@@ -21,6 +21,7 @@
BaseType: 'WebDateSelector'
Properties:
[
+ Date: 9999-12-31
Label: 'End date'
Taborder: 1
]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInventorySummaryReport/Response_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormInventorySummaryReport/Response_OnCreated.def
index 9b50f5f..ca45d5d 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormInventorySummaryReport/Response_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormInventorySummaryReport/Response_OnCreated.def
@@ -9,12 +9,12 @@
{
Body:
[*
- if( not isnull( MacroPlan.InventorySummarySource() ) ){
- InventorySummarySource::Initialize( MacroPlan );
- }
+ //if( not isnull( MacroPlan.InventorySummarySource() ) ){
+ InventorySummarySource::Initialize( MacroPlan, InterfaceDataset );
+ //}
//info( '------------------1----------------' );
table := selectobject( MacroPlan, InventorySummarySource.InventorySummaryReport, table, table.IsShow() );
- info( '------------------2----------------', table.IsShow() );
+ //info( '------------------2----------------', table.IsShow() );
DataHolderTable.Data( table );
dhSearch.Data( table.InventorySummarySource().InventorySummarySearch() );
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInventorySummaryReport/Response_PanelCategory_RadioButtonGroupUseForPlanning_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormInventorySummaryReport/Response_PanelCategory_RadioButtonGroupUseForPlanning_OnCreated.def
new file mode 100644
index 0000000..cfe85d3
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormInventorySummaryReport/Response_PanelCategory_RadioButtonGroupUseForPlanning_OnCreated.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: PanelCategory/RadioButtonGroupUseForPlanning_545
+Response OnCreated () id:Response_PanelCategory_RadioButtonGroupUseForPlanning_OnCreated
+{
+ #keys: '[415136.0.875614032]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebComponent_OnCreated'
+ QuillAction
+ {
+ Body:
+ [*
+ this.ButtonValues( Translations::MP_GlobalParameters_Day() + ';' + Translations::MP_GlobalParameters_Week() + ';' + Translations::MP_GlobalParameters_Month() );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInventorySummaryReport/Response_PanelPeriod_DateSelectorEnd_OnChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormInventorySummaryReport/Response_PanelPeriod_DateSelectorEnd_OnChanged.def
index 7d13e79..503f315 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormInventorySummaryReport/Response_PanelPeriod_DateSelectorEnd_OnChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormInventorySummaryReport/Response_PanelPeriod_DateSelectorEnd_OnChanged.def
@@ -10,9 +10,13 @@
Body:
[*
//鏃ユ湡鏀瑰彉鍚庡埛鏂版樉绀�
- if( dhSearch.Data().EndDate() <> this.Date() ){
- dhSearch.Data().EndDate( this.Date() );
- DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() );
+ if( this.Date() < DateSelectorStart.Date() ){
+ this.HintError( 'The end date cannot be less than the start date!' );
+ }else{
+ if( dhSearch.Data().EndDate() <> this.Date() ){
+ dhSearch.Data().EndDate( this.Date() );
+ DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() );
+ }
}
*]
GroupServerCalls: false
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInventorySummaryReport/Response_PanelPeriod_DateSelectorStart_OnChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormInventorySummaryReport/Response_PanelPeriod_DateSelectorStart_OnChanged.def
index aa54f0a..ba04b08 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormInventorySummaryReport/Response_PanelPeriod_DateSelectorStart_OnChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormInventorySummaryReport/Response_PanelPeriod_DateSelectorStart_OnChanged.def
@@ -10,9 +10,13 @@
Body:
[*
//鏃ユ湡鏀瑰彉鍚庡埛鏂版樉绀�
- if( dhSearch.Data().StartDate() <> this.Date() ){
- dhSearch.Data().StartDate( this.Date() );
- DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() );
+ if( this.Date() > DateSelectorEnd.Date() ){
+ this.HintError( 'The start date cannot be later than the end date!' );
+ }else{
+ if( dhSearch.Data().StartDate() <> this.Date() ){
+ dhSearch.Data().StartDate( this.Date() );
+ DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() );
+ }
}
*]
GroupServerCalls: false
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInventorySummaryReport/Response_PanelUnit_ddslUnit_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormInventorySummaryReport/Response_PanelUnit_ddslUnit_OnCreated.def
index 67038e1..81f2cba 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormInventorySummaryReport/Response_PanelUnit_ddslUnit_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormInventorySummaryReport/Response_PanelUnit_ddslUnit_OnCreated.def
@@ -10,7 +10,7 @@
Body:
[*
- valueString := "<All>;" + FinancialProductionReport::GetDefaultCCUnit() + ";" + FinancialProductionReport::GetDefaultDLUnit();
+ valueString := "<All>;" + InventorySummaryReport::GetDefaultCCUnit() + ";" + InventorySummaryReport::GetDefaultDLUnit();
this.Strings( valueString );
*]
--
Gitblit v1.9.3