From e1959c8fe7f87d039c227455ec9f614ae3a599f5 Mon Sep 17 00:00:00 2001
From: rislai <risheng.lai@capgemini.com>
Date: 星期一, 05 八月 2024 17:26:46 +0800
Subject: [PATCH] 添加下线计划对比报表
---
_Main/UI/MacroPlannerWebApp/Component_Form701/Component_matrixEditorActionBarPageDemandComparison.def | 10
_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelDemandComparison_dhCheckedSalesSegment_OnDataChanged.def | 21 +
_Main/UI/MacroPlannerWebApp/Component_Form701/_ROOT_Component_FormOfflinePlanComparison701.def | 18 +
_Main/UI/MacroPlannerWebApp/Component_Form701/Component_matrixeditorContextMenuDemandComparison.def | 10
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Method_GetMacroPlans.def | 22 +
_Main/UI/MacroPlannerWebApp/Component_Form701/Component_PanelFilter.def | 96 ++++++
_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelFilter_dsEndDate_OnChanged.def | 16 +
_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelFilter_ddslGeneration_OnCreated.def | 20 +
_Main/UI/MacroPlannerWebApp/Component_Form701/Component_PanelDemandComparison.def | 84 ++++++
_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelRibbon504_801_bComparison_OnClick.def | 19 +
_Main/UI/MacroPlannerWebApp/Component_Form701/Component_PanelRibbon322.def | 89 ++++++
_Main/BL/Type_Test/StaticMethod_Test.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelDemandComparison_dhCheckedProduct_OnDataChanged.def | 20 +
_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelFilter_ddslMQBMLB_OnCreated.def | 20 +
_Main/UI/MacroPlannerWebApp/Component_Form701/Component_PanelRibbon#799.def | 17 +
_Main/UI/MacroPlannerWebApp/Component_Form701/Component_PanelRibbon504#801.def | 79 +++++
_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelDemandComparison_dhFinelProduct_OnCreated.def | 16 +
_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelFilter_ButtonFilter_OnClick.def | 26 +
_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelFilter_ddslPower_OnCreated.def | 20 +
_Main/BL/Type_LocalTool/StaticMethod_GetMacroPlans.qbl | 23 +
_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelRibbon322_ButtonRibbon_OnClick.def | 17 +
_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelFilter_dhEndDate_OnCreated.def | 16 +
_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelRibbon322_dhMacroPlans_OnCreated.def | 12
_Main/UI/MacroPlannerWebApp/Component_Form701/Component_MatrixEditor.def | 102 +++++++
_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelDemandComparison_dhComparisonData_OnDataChanged.def | 16 +
_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelFilter_dsStartDate_OnChanged.def | 16 +
_Main/UI/MacroPlannerWebApp/_ROOT_Project_MacroPlannerWebApp.qp | 2
_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelFilter_dhStartDate_OnCreated.def | 16 +
28 files changed, 827 insertions(+), 4 deletions(-)
diff --git a/_Main/BL/Type_LocalTool/StaticMethod_GetMacroPlans.qbl b/_Main/BL/Type_LocalTool/StaticMethod_GetMacroPlans.qbl
new file mode 100644
index 0000000..0688efa
--- /dev/null
+++ b/_Main/BL/Type_LocalTool/StaticMethod_GetMacroPlans.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GetMacroPlans
+{
+ TextBody:
+ [*
+ // rislai Jul-31-2024 (created)
+ //options := DatasetFindOptions::Construct( 'MacroPlan' ).IncludeOffline( true ); //to load we must search offline datasets.
+ //mdskey := DatasetController::FindUnique( options );
+ //
+ //MDSMacroPlan::Root( mdskey ) -> {}
+
+
+
+ // componentmds := ApplicationScope.ComponentMDS();
+ //
+ // mdsinstance := select( componentmds, ComponentMDSKinds.ComponentMDSInstances, m, m.MDSID().MDSKey() = MacroPlan.DemandMPID() );
+ //
+ // handle := mdsinstance.GetMDSHandle()
+ //
+ // demandMacroPlan := handle.AsMacroPlan();
+ *]
+}
diff --git a/_Main/BL/Type_Test/StaticMethod_Test.qbl b/_Main/BL/Type_Test/StaticMethod_Test.qbl
index cc86dfc..f3f8a11 100644
--- a/_Main/BL/Type_Test/StaticMethod_Test.qbl
+++ b/_Main/BL/Type_Test/StaticMethod_Test.qbl
@@ -9,8 +9,10 @@
{
TextBody:
[*
- name := "2020/04/01";
- names := name.Tokenize( "/" );
- info( guard( Date::Construct( [Number]names.Element( 0 ),[Number]names.Element( 1 ),[Number]names.Element( 2 )),Date::MinDate() ));
+ //name := "2020/04/01";
+ //names := name.Tokenize( "/" );
+ // info( guard( Date::Construct( [Number]names.Element( 0 ),[Number]names.Element( 1 ),[Number]names.Element( 2 )),Date::MinDate() ));
+
+ info( macroPlan.DisplayNameForSelection() );
*]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Method_GetMacroPlans.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Method_GetMacroPlans.def
new file mode 100644
index 0000000..bc17ce4
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Method_GetMacroPlans.def
@@ -0,0 +1,22 @@
+Quintiq file version 2.0
+#parent: #root
+Method GetMacroPlans () as structured[MacroPlan] id:Method_ApplicationMacroPlanner_GetMacroPlans
+{
+ #keys: '[412672.1.82702269]'
+ Body:
+ [*
+ componentmds := ApplicationScope.ComponentMDS();
+
+ macroPlans := construct( MacroPlans );
+ scemps := selectset( ScenarioManager,ScenarioMP,mp,mp.IsLoaded());
+ traverse( scemps,Elements,scemp ){
+ mdsinstance := select( componentmds, ComponentMDSKinds.ComponentMDSInstances, m, m.MDSID().MDSKey() = scemp.DatasetMDSID() );
+ handle := mdsinstance.GetMDSHandle();
+ demandMacroPlan := handle.AsMacroPlan();
+ macroPlans.Add( demandMacroPlan );
+ }
+
+ return ¯oPlans
+ *]
+ ReturnsOwning: true
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_MatrixEditor.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_MatrixEditor.def
new file mode 100644
index 0000000..20b8c8e
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_MatrixEditor.def
@@ -0,0 +1,102 @@
+Quintiq file version 2.0
+Component MatrixEditor
+{
+ #keys: '[412672.1.78210532]'
+ BaseType: 'WebMatrixEditor'
+ Children:
+ [
+ Component MatrixEditorCell
+ {
+ #keys: '[412672.1.78210533]'
+ BaseType: 'WebMatrixEditorCell'
+ Children:
+ [
+ Component DataExtractorCells
+ {
+ #keys: '[412672.1.78210534]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'LocalTable'
+ Source: 'dhComparisonData'
+ Taborder: 0
+ Transformation: 'LocalRow.LocalCell.astype(LocalCell_OfflinePlanComparison)'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Attributes: 'BaseVersion;CompareVersion;Gap'
+ Column: 'LocalColumn'
+ Row: 'LocalRow'
+ Taborder: 0
+ ]
+ }
+ Component MatrixEditorRows
+ {
+ #keys: '[412672.1.78210535]'
+ BaseType: 'WebMatrixEditorHeaderLevel'
+ Children:
+ [
+ Component DataExtractorRows
+ {
+ #keys: '[412672.1.78210536]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'LocalTable'
+ FilterArguments: 'checkedProduct:QMacroPlanner::FormOfflinePlanComparison701.dhFinelProduct'
+ FixedFilter: 'exists( checkedProduct,Elements,product,product.ID() = object.Name() )'
+ Source: 'dhComparisonData'
+ Taborder: 0
+ Transformation: 'LocalRow'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Legend: 'Name'
+ SortCriteria: 'Index'
+ Taborder: 1
+ ]
+ }
+ Component MatrixEditorColumns
+ {
+ #keys: '[412672.1.78210537]'
+ BaseType: 'WebMatrixEditorHeaderLevel'
+ Children:
+ [
+ Component DataExtractorColumns
+ {
+ #keys: '[412672.1.78210538]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'LocalTable'
+ FilterArguments: 'startDate:QMacroPlanner::FormOfflinePlanComparison701.dhStartDate;endDate:QMacroPlanner::FormOfflinePlanComparison701.dhEndDate'
+ FixedFilter: 'not object.IsAttrbuteColumn() and startDate <= object.Date() and endDate > object.Date() '
+ Source: 'dhComparisonData'
+ Taborder: 0
+ Transformation: 'LocalColumn'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Legend: 'Date'
+ SortCriteria: 'Index'
+ Taborder: 2
+ ]
+ }
+ #child: matrixEditorActionBarPageDemandComparison
+ #child: matrixeditorContextMenuDemandComparison
+ ]
+ Properties:
+ [
+ AllowMultipleAttributes: true
+ Columns: 'MatrixEditorColumns'
+ ContextMenu: 'matrixeditorContextMenuDemandComparison'
+ Rows: 'MatrixEditorRows'
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_PanelDemandComparison.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_PanelDemandComparison.def
new file mode 100644
index 0000000..d41af93
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_PanelDemandComparison.def
@@ -0,0 +1,84 @@
+Quintiq file version 2.0
+Component PanelDemandComparison
+{
+ #keys: '[412672.1.78210531]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component dhComparisonData
+ {
+ #keys: '[412672.1.78210541]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'LocalTable'
+ Properties:
+ [
+ Taborder: 1
+ ]
+ }
+ Component dhCheckedProduct
+ {
+ #keys: '[412672.1.78210542]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'structured[Product_MP]*'
+ Children:
+ [
+ Component deCheckedProduct
+ {
+ #keys: '[412672.1.78210543]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'structured[Product_MP]'
+ Source: 'ApplicationMacroPlanner.DataHolderCheckedProduct'
+ Taborder: 0
+ Transformation: 'Elements'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 3
+ ]
+ }
+ Component dhFinelProduct
+ {
+ #keys: '[412672.1.78210544]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'structured[Product_MP]*'
+ Properties:
+ [
+ Taborder: 2
+ ]
+ }
+ Component dhCheckedSalesSegment
+ {
+ #keys: '[412672.1.78210545]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'structured[SalesSegment_MP]*'
+ Children:
+ [
+ Component deCheckedSalesSegment
+ {
+ #keys: '[412672.1.78210546]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'structured[SalesSegment_MP]'
+ Source: 'ApplicationMacroPlanner.DataHolderCheckedSalesSegment'
+ Taborder: 0
+ Transformation: 'Elements'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 4
+ ]
+ }
+ #child: MatrixEditor
+ ]
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_PanelFilter.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_PanelFilter.def
new file mode 100644
index 0000000..3b2424b
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_PanelFilter.def
@@ -0,0 +1,96 @@
+Quintiq file version 2.0
+Component PanelFilter
+{
+ #keys: '[412672.1.78210464]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component ddslGeneration
+ {
+ #keys: '[412672.1.78210465]'
+ BaseType: 'WebDropDownStringList'
+ Properties:
+ [
+ Label: 'Generation'
+ Taborder: 0
+ ]
+ }
+ Component ddslMQBMLB
+ {
+ #keys: '[412672.1.78210466]'
+ BaseType: 'WebDropDownStringList'
+ Properties:
+ [
+ Label: 'MQB/MLB'
+ Taborder: 1
+ ]
+ }
+ Component ddslPower
+ {
+ #keys: '[412672.1.78210467]'
+ BaseType: 'WebDropDownStringList'
+ Properties:
+ [
+ Label: '鍔熺巼'
+ Taborder: 2
+ ]
+ }
+ Component dsStartDate
+ {
+ #keys: '[412672.1.78210468]'
+ BaseType: 'WebDateSelector'
+ Properties:
+ [
+ Label: 'Start Date'
+ Taborder: 3
+ ]
+ }
+ Component dsEndDate
+ {
+ #keys: '[412672.1.78210469]'
+ BaseType: 'WebDateSelector'
+ Properties:
+ [
+ Date: 9999-12-31
+ Label: 'End Date'
+ Taborder: 5
+ ]
+ }
+ Component ButtonFilter
+ {
+ #keys: '[412672.1.78210470]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Label: '杩囨护'
+ Taborder: 7
+ ]
+ }
+ Component dhStartDate
+ {
+ #keys: '[412672.1.78210471]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'Date*'
+ Properties:
+ [
+ Taborder: 4
+ ]
+ }
+ Component dhEndDate
+ {
+ #keys: '[412672.1.78210472]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'Date*'
+ Properties:
+ [
+ Taborder: 6
+ ]
+ }
+ ]
+ Properties:
+ [
+ FixedSize: true
+ Orientation: 'horizontal'
+ Taborder: 2
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_PanelRibbon\043799.def" "b/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_PanelRibbon\043799.def"
new file mode 100644
index 0000000..3d20b4f
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_PanelRibbon\043799.def"
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+Component PanelRibbon id:PanelRibbon_799
+{
+ #keys: '[412672.1.78210463]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ #child: PanelFilter
+ #child: PanelRibbon504_801
+ #child: PanelRibbon322
+ ]
+ Properties:
+ [
+ FixedSize: true
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_PanelRibbon322.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_PanelRibbon322.def
new file mode 100644
index 0000000..74422d6
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_PanelRibbon322.def
@@ -0,0 +1,89 @@
+Quintiq file version 2.0
+Component PanelRibbon322
+{
+ #keys: '[412672.1.82701845]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component ddlBaseMacroPlan
+ {
+ #keys: '[412672.1.82701846]'
+ BaseType: 'WebDropDownList'
+ Databinding: 'MacroPlan'
+ Children:
+ [
+ Component deBaseMacroPlan
+ {
+ #keys: '[412672.1.82702010]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'structured[MacroPlan]'
+ Source: 'dhMacroPlans'
+ Taborder: 0
+ Transformation: 'Elements'
+ ]
+ }
+ ]
+ Properties:
+ [
+ DisplayField: 'DisplayNameForSelection'
+ Label: '鍩哄噯鐗堟湰:'
+ Taborder: 0
+ ]
+ }
+ Component ddlCompareMacroPlan
+ {
+ #keys: '[412672.1.82701851]'
+ BaseType: 'WebDropDownList'
+ Databinding: 'MacroPlan'
+ Children:
+ [
+ Component deCompareMacroPlan
+ {
+ #keys: '[412672.1.82702025]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'structured[MacroPlan]'
+ Source: 'dhMacroPlans'
+ Taborder: 0
+ Transformation: 'Elements'
+ ]
+ }
+ ]
+ Properties:
+ [
+ DisplayField: 'DisplayNameForSelection'
+ Label: '瀵规瘮鐗堟湰:'
+ Taborder: 1
+ ]
+ }
+ Component dhMacroPlans
+ {
+ #keys: '[412672.1.82701972]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'structured[MacroPlan]*'
+ Properties:
+ [
+ Taborder: 2
+ ]
+ }
+ Component ButtonRibbon
+ {
+ #keys: '[412672.1.85851524]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Label: 'Tesyt'
+ Taborder: 3
+ ]
+ }
+ ]
+ Properties:
+ [
+ FixedSize: true
+ Orientation: 'horizontal'
+ Taborder: 0
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_PanelRibbon504\043801.def" "b/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_PanelRibbon504\043801.def"
new file mode 100644
index 0000000..e90ef60
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_PanelRibbon504\043801.def"
@@ -0,0 +1,79 @@
+Quintiq file version 2.0
+Component PanelRibbon504 id:PanelRibbon504_801
+{
+ #keys: '[412672.1.78210473]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component ddlBaseOfflinePlanTable
+ {
+ #keys: '[412672.1.78210474]'
+ BaseType: 'WebDropDownList'
+ Databinding: 'OfflinePlanTable'
+ Children:
+ [
+ Component DataExtractorRibbon
+ {
+ #keys: '[412672.1.78210475]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'MacroPlan'
+ Source: 'MacroPlan'
+ Taborder: 0
+ Transformation: 'OfflinePlanTable'
+ ]
+ }
+ ]
+ Properties:
+ [
+ DisplayField: 'SaveDateTime'
+ Label: '鍩哄噯涓嬬嚎璁″垝:'
+ Taborder: 0
+ ]
+ }
+ Component bComparison
+ {
+ #keys: '[412672.1.78210476]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Label: '寮�濮嬪姣�'
+ Taborder: 2
+ ]
+ }
+ Component ddlCompareOfflinePlanTable
+ {
+ #keys: '[412672.1.78210579]'
+ BaseType: 'WebDropDownList'
+ Databinding: 'OfflinePlanTable'
+ Children:
+ [
+ Component DataExtractorRibbon300
+ {
+ #keys: '[412672.1.78210580]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'MacroPlan'
+ Source: 'MacroPlan'
+ Taborder: 0
+ Transformation: 'OfflinePlanTable'
+ ]
+ }
+ ]
+ Properties:
+ [
+ DisplayField: 'SaveDateTime'
+ Label: '瀵规瘮涓嬬嚎璁″垝:'
+ Taborder: 1
+ ]
+ }
+ ]
+ Properties:
+ [
+ FixedSize: true
+ Orientation: 'horizontal'
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_matrixEditorActionBarPageDemandComparison.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_matrixEditorActionBarPageDemandComparison.def
new file mode 100644
index 0000000..8c6fa9a
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_matrixEditorActionBarPageDemandComparison.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component matrixEditorActionBarPageDemandComparison
+{
+ #keys: '[412672.1.78210539]'
+ BaseType: 'matrixEditorActionBarPage'
+ Properties:
+ [
+ Taborder: 3
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_matrixeditorContextMenuDemandComparison.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_matrixeditorContextMenuDemandComparison.def
new file mode 100644
index 0000000..15450bc
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Component_matrixeditorContextMenuDemandComparison.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component matrixeditorContextMenuDemandComparison
+{
+ #keys: '[412672.1.78210540]'
+ BaseType: 'matrixeditorContextMenu'
+ Properties:
+ [
+ Taborder: 4
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelDemandComparison_dhCheckedProduct_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelDemandComparison_dhCheckedProduct_OnDataChanged.def
new file mode 100644
index 0000000..cc755ec
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelDemandComparison_dhCheckedProduct_OnDataChanged.def
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: PanelDemandComparison/dhCheckedProduct
+Response OnDataChanged () id:Response_PanelDemandComparison_dhCheckedProduct_OnDataChanged
+{
+ #keys: '[412672.1.78210527]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebComponent_OnDataChanged'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ if( this.Data().Size() <> 0 ){
+ dhFinelProduct.Data( this.Data().Copy() );
+ }else{
+ dhFinelProduct.Data( DataHolderProduct.Data().Copy() );
+ }
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelDemandComparison_dhCheckedSalesSegment_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelDemandComparison_dhCheckedSalesSegment_OnDataChanged.def
new file mode 100644
index 0000000..482b2c8
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelDemandComparison_dhCheckedSalesSegment_OnDataChanged.def
@@ -0,0 +1,21 @@
+Quintiq file version 2.0
+#parent: PanelDemandComparison/dhCheckedSalesSegment
+Response OnDataChanged () id:Response_PanelDemandComparison_dhCheckedSalesSegment_OnDataChanged
+{
+ #keys: '[412672.1.78210525]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebComponent_OnDataChanged'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ if( this.Data().Size() <> 0 ){
+ prods := selectset( dhFinelProduct.Data(),Elements,element,exists( this.Data(),Elements.SalesDemand.Product_MP,prod,element = prod ));
+ dhFinelProduct.Data( &prods );
+ }else{
+ dhFinelProduct.Data( DataHolderProduct.Data().Copy() );
+ }
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelDemandComparison_dhComparisonData_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelDemandComparison_dhComparisonData_OnDataChanged.def
new file mode 100644
index 0000000..b236fb4
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelDemandComparison_dhComparisonData_OnDataChanged.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: PanelDemandComparison/dhComparisonData
+Response OnDataChanged () id:Response_PanelDemandComparison_dhComparisonData_OnDataChanged
+{
+ #keys: '[412672.1.78210528]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebComponent_OnDataChanged'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ PanelDemandComparison.Title( this.Data().Name() );
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelDemandComparison_dhFinelProduct_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelDemandComparison_dhFinelProduct_OnCreated.def
new file mode 100644
index 0000000..4aac3b4
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelDemandComparison_dhFinelProduct_OnCreated.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: PanelDemandComparison/dhFinelProduct
+Response OnCreated () id:Response_PanelDemandComparison_dhFinelProduct_OnCreated
+{
+ #keys: '[412672.1.78210526]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebComponent_OnCreated'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ this.Data( DataHolderProduct.Data().Copy() );
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelFilter_ButtonFilter_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelFilter_ButtonFilter_OnClick.def
new file mode 100644
index 0000000..0e04f16
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelFilter_ButtonFilter_OnClick.def
@@ -0,0 +1,26 @@
+Quintiq file version 2.0
+#parent: PanelFilter/ButtonFilter
+Response OnClick () id:Response_PanelFilter_ButtonFilter_OnClick
+{
+ #keys: '[412672.1.78210457]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ products := dhCheckedProduct.Data().Copy();
+ if( ddslGeneration.Text() <> "<All>" ){
+ products := selectset( products,Elements,element,element.Generation() <> ddslGeneration.Text());
+ }
+ if( ddslMQBMLB.Text() <> "<All>" ){
+ products := selectset( products,Elements,element,element.MQBMLB() <> ddslMQBMLB.Text());
+ }
+ if( ddslPower.Text() <> "<All>" ){
+ products := selectset( products,Elements,element,element.Power() <> ddslPower.Text());
+ }
+ dhFinelProduct.Data( &products );
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelFilter_ddslGeneration_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelFilter_ddslGeneration_OnCreated.def
new file mode 100644
index 0000000..479534f
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelFilter_ddslGeneration_OnCreated.def
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: PanelFilter/ddslGeneration
+Response OnCreated () id:Response_PanelFilter_ddslGeneration_OnCreated
+{
+ #keys: '[412672.1.78210462]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebComponent_OnCreated'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ strings := selectuniquevalues( MacroPlan,Product_MP,product,not product.IsSystem(),product.Generation() );
+
+ res := strings.Concatenate( ";" );
+
+ this.Strings( "<All>;" + res );
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelFilter_ddslMQBMLB_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelFilter_ddslMQBMLB_OnCreated.def
new file mode 100644
index 0000000..9d78957
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelFilter_ddslMQBMLB_OnCreated.def
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: PanelFilter/ddslMQBMLB
+Response OnCreated () id:Response_PanelFilter_ddslMQBMLB_OnCreated
+{
+ #keys: '[412672.1.78210461]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebComponent_OnCreated'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ strings := selectuniquevalues( MacroPlan,Product_MP,product,not product.IsSystem(),product.MQBMLB() );
+
+ res := strings.Concatenate( ";" );
+
+ this.Strings( "<All>;" + res );
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelFilter_ddslPower_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelFilter_ddslPower_OnCreated.def
new file mode 100644
index 0000000..a610d7d
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelFilter_ddslPower_OnCreated.def
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: PanelFilter/ddslPower
+Response OnCreated () id:Response_PanelFilter_ddslPower_OnCreated
+{
+ #keys: '[412672.1.78210460]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebComponent_OnCreated'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ strings := selectuniquevalues( MacroPlan,Product_MP,product,not product.IsSystem(),product.Power() );
+
+ res := strings.Concatenate( ";" );
+
+ this.Strings( "<All>;" + res );
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelFilter_dhEndDate_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelFilter_dhEndDate_OnCreated.def
new file mode 100644
index 0000000..ab03d32
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelFilter_dhEndDate_OnCreated.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: PanelFilter/dhEndDate
+Response OnCreated () id:Response_PanelFilter_dhEndDate_OnCreated
+{
+ #keys: '[412672.1.78210455]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebComponent_OnCreated'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ this.Data( Date::MaxDate() );
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelFilter_dhStartDate_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelFilter_dhStartDate_OnCreated.def
new file mode 100644
index 0000000..995c89d
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelFilter_dhStartDate_OnCreated.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: PanelFilter/dhStartDate
+Response OnCreated () id:Response_PanelFilter_dhStartDate_OnCreated
+{
+ #keys: '[412672.1.78210456]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebComponent_OnCreated'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ this.Data( Date::MinDate() );
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelFilter_dsEndDate_OnChanged.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelFilter_dsEndDate_OnChanged.def
new file mode 100644
index 0000000..dd8a509
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelFilter_dsEndDate_OnChanged.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: PanelFilter/dsEndDate
+Response OnChanged () id:Response_PanelFilter_dsEndDate_OnChanged
+{
+ #keys: '[412672.1.78210458]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebDateTimeFieldBase_OnChanged'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ dhEndDate.Data( this.Date() );
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelFilter_dsStartDate_OnChanged.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelFilter_dsStartDate_OnChanged.def
new file mode 100644
index 0000000..fefafb6
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelFilter_dsStartDate_OnChanged.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: PanelFilter/dsStartDate
+Response OnChanged () id:Response_PanelFilter_dsStartDate_OnChanged
+{
+ #keys: '[412672.1.78210459]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebDateTimeFieldBase_OnChanged'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ dhStartDate.Data( this.Date() );
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelRibbon322_ButtonRibbon_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelRibbon322_ButtonRibbon_OnClick.def
new file mode 100644
index 0000000..db31260
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelRibbon322_ButtonRibbon_OnClick.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: PanelRibbon322/ButtonRibbon
+Response OnClick () id:Response_PanelRibbon322_ButtonRibbon_OnClick
+{
+ #keys: '[412672.1.85851565]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ macroPlans := ApplicationMacroPlanner.GetMacroPlans();
+ dhMacroPlans.Data( ¯oPlans );
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelRibbon322_dhMacroPlans_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelRibbon322_dhMacroPlans_OnCreated.def
new file mode 100644
index 0000000..e8423d1
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelRibbon322_dhMacroPlans_OnCreated.def
@@ -0,0 +1,12 @@
+Quintiq file version 2.0
+#parent: PanelRibbon322/dhMacroPlans
+Response OnCreated () id:Response_PanelRibbon322_dhMacroPlans_OnCreated
+{
+ #keys: '[412672.1.82702179]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebComponent_OnCreated'
+ QuillAction
+ {
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelRibbon504_801_bComparison_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelRibbon504_801_bComparison_OnClick.def
new file mode 100644
index 0000000..d361d10
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/Response_PanelRibbon504_801_bComparison_OnClick.def
@@ -0,0 +1,19 @@
+Quintiq file version 2.0
+#parent: PanelRibbon504_801/bComparison
+Response OnClick () id:Response_PanelRibbon504_801_bComparison_OnClick
+{
+ #keys: '[412672.1.78210454]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ baseVersion := ddlBaseOfflinePlanTable.Data();
+ compareVersion := ddlCompareOfflinePlanTable.Data();
+
+ dhComparisonData.Data( LocalCell_OfflinePlanComparison::Compared( RecycleBin,baseVersion,compareVersion ));
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form701/_ROOT_Component_FormOfflinePlanComparison701.def b/_Main/UI/MacroPlannerWebApp/Component_Form701/_ROOT_Component_FormOfflinePlanComparison701.def
new file mode 100644
index 0000000..090f164
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form701/_ROOT_Component_FormOfflinePlanComparison701.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormOfflinePlanComparison701
+{
+ #keys: '[412672.1.78201744]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: PanelRibbon_799
+ #child: PanelDemandComparison
+ ]
+ Properties:
+ [
+ Image: 'DOCUMENT_INFO'
+ Title: '涓嬬嚎璁″垝瀵规瘮鎶ヨ〃'
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/_ROOT_Project_MacroPlannerWebApp.qp b/_Main/UI/MacroPlannerWebApp/_ROOT_Project_MacroPlannerWebApp.qp
index ddf6844..323d5c8 100644
--- a/_Main/UI/MacroPlannerWebApp/_ROOT_Project_MacroPlannerWebApp.qp
+++ b/_Main/UI/MacroPlannerWebApp/_ROOT_Project_MacroPlannerWebApp.qp
@@ -5,7 +5,7 @@
ProjectProperties
{
ApplicationComponentName: 'ApplicationMacroPlanner'
- BuildVersion: '2022.3.0.29'
+ BuildVersion: '2022.3.0.48'
Description: 'Quintiq Macro Planner'
ProjectKind: 'WebClient'
}
--
Gitblit v1.9.3