From 7804ec7a70a7ffe3116daec64154c15842f8c513 Mon Sep 17 00:00:00 2001
From: yanweiyuan3 <yanweiyuan3@gmail.com>
Date: 星期一, 11 九月 2023 16:51:00 +0800
Subject: [PATCH] Add Forecast form
---
_Main/UI/MacroPlannerWebApp/Component_FormForecastForHedging/Component_listActionBarPageForecastForHedging.def | 10 +
_Main/UI/MacroPlannerWebApp/Views/Test_for_hedging.vw | 183 ++++++++++++++++++++++++++
_Main/UI/MacroPlannerWebApp/Component_FormForecastForHedging/Response_PanelForecastForHedging961_DateSelectorForecastForHedging_OnCreated.def | 16 ++
_Main/UI/MacroPlannerWebApp/Component_FormForecastForHedging/Component_PanelForecastForHedging961.def | 63 +++++++++
_Main/UI/MacroPlannerWebApp/Component_FormForecastForHedging/Component_PanelForecastForHedging.def | 15 ++
_Main/UI/MacroPlannerWebApp/Component_FormForecastForHedging/Response_PanelForecastForHedging961_ButtonForecastForHedging_OnClick.def | 24 +++
_Main/UI/MacroPlannerWebApp/Component_FormForecastForHedging/Component_listContextMenuForecastForHedging.def | 10 +
_Main/UI/MacroPlannerWebApp/_ROOT_Project_MacroPlannerWebApp.qp | 2
_Main/UI/MacroPlannerWebApp/Component_FormForecastForHedging/_ROOT_Component_FormForecastForHedging.def | 43 ++++++
_Main/UI/MacroPlannerWebApp/Component_FormForecastForHedging/Component_ListForecastForHedging.def | 41 +++++
10 files changed, 406 insertions(+), 1 deletions(-)
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormForecastForHedging/Component_ListForecastForHedging.def b/_Main/UI/MacroPlannerWebApp/Component_FormForecastForHedging/Component_ListForecastForHedging.def
new file mode 100644
index 0000000..f825db9
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormForecastForHedging/Component_ListForecastForHedging.def
@@ -0,0 +1,41 @@
+Quintiq file version 2.0
+Component ListForecastForHedging
+{
+ #keys: '[412960.0.117650662]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractorForecastForHedging453
+ {
+ #keys: '[412960.0.117650663]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'structured[Forecast]'
+ Source: 'DataHolderForecastForHedging'
+ Taborder: 0
+ Transformation: 'Elements'
+ ]
+ }
+ #child: listActionBarPageForecastForHedging
+ Component DataSetLevelForecastForHedging
+ {
+ #keys: '[412960.0.117650668]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenuForecastForHedging
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ID","title":"ID","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"EndDate","title":"EndDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"EndDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"ProductID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"Quantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasureName","title":"UnitOfMeasureName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UnitOfMeasureName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SalesSegmentName","title":"SalesSegmentName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SalesSegmentName"}}]'
+ ContextMenu: 'listContextMenuForecastForHedging'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormForecastForHedging/Component_PanelForecastForHedging.def b/_Main/UI/MacroPlannerWebApp/Component_FormForecastForHedging/Component_PanelForecastForHedging.def
new file mode 100644
index 0000000..cc6a096
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormForecastForHedging/Component_PanelForecastForHedging.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+Component PanelForecastForHedging
+{
+ #keys: '[412960.0.117670724]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ #child: ListForecastForHedging
+ #child: PanelForecastForHedging961
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormForecastForHedging/Component_PanelForecastForHedging961.def b/_Main/UI/MacroPlannerWebApp/Component_FormForecastForHedging/Component_PanelForecastForHedging961.def
new file mode 100644
index 0000000..4940eca
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormForecastForHedging/Component_PanelForecastForHedging961.def
@@ -0,0 +1,63 @@
+Quintiq file version 2.0
+Component PanelForecastForHedging961
+{
+ #keys: '[412960.0.124780919]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component DateSelectorForecastForHedging
+ {
+ #keys: '[412960.0.124781002]'
+ BaseType: 'WebDateSelector'
+ Properties:
+ [
+ Date: 2023-01-01
+ DateFormat: 'YMM'
+ Label: '鎴鏃ユ湡'
+ MinDate: 2023-01-01
+ Taborder: 1
+ ]
+ }
+ Component ButtonForecastForHedging
+ {
+ #keys: '[412960.0.124781317]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ BadgeTextColor: 'blue'
+ ButtonSize: 'compact'
+ Label: ' 鎼滅储 '
+ Taborder: 2
+ ]
+ }
+ Component EditFieldForecastForHedging
+ {
+ #keys: '[412960.0.124781382]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ PlaceHolder: '妯$硦鎼滅储'
+ Taborder: 0
+ ]
+ }
+ Component LabelForecastForHedging
+ {
+ #keys: '[412960.0.124781423]'
+ BaseType: 'WebLabel'
+ Properties:
+ [
+ Label: '鎼滅储'
+ Taborder: 3
+ Text: '鎼滅储'
+ Visible: false
+ ]
+ }
+ ]
+ Properties:
+ [
+ FixedSize: true
+ Orientation: 'horizontal'
+ SizeRatio: 0
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormForecastForHedging/Component_listActionBarPageForecastForHedging.def b/_Main/UI/MacroPlannerWebApp/Component_FormForecastForHedging/Component_listActionBarPageForecastForHedging.def
new file mode 100644
index 0000000..c92b3a7
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormForecastForHedging/Component_listActionBarPageForecastForHedging.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPageForecastForHedging
+{
+ #keys: '[412960.0.117650665]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormForecastForHedging/Component_listContextMenuForecastForHedging.def b/_Main/UI/MacroPlannerWebApp/Component_FormForecastForHedging/Component_listContextMenuForecastForHedging.def
new file mode 100644
index 0000000..3da0a0b
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormForecastForHedging/Component_listContextMenuForecastForHedging.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listContextMenuForecastForHedging
+{
+ #keys: '[412960.0.117650670]'
+ BaseType: 'listContextMenu'
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormForecastForHedging/Response_PanelForecastForHedging961_ButtonForecastForHedging_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormForecastForHedging/Response_PanelForecastForHedging961_ButtonForecastForHedging_OnClick.def
new file mode 100644
index 0000000..7e09df5
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormForecastForHedging/Response_PanelForecastForHedging961_ButtonForecastForHedging_OnClick.def
@@ -0,0 +1,24 @@
+Quintiq file version 2.0
+#parent: PanelForecastForHedging961/ButtonForecastForHedging
+Response OnClick () id:Response_PanelForecastForHedging961_ButtonForecastForHedging_OnClick
+{
+ #keys: '[412960.0.124781470]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ DataExtractorForecastForHedging.FixedFilter(
+ "( object.ID().LikeUserLocale( " + EditFieldForecastForHedging.Text().AsQUILL() + " )"
+ + " or " + "object.ProductID().LikeUserLocale( " + EditFieldForecastForHedging.Text().AsQUILL() + " )"
+ // + " or " + "object.Quantity().AsString().LikeUserLocale( " + EditFieldForecastForHedging.Text().AsQUILL() + " )"
+ + " or " + "object.UnitOfMeasureName().LikeUserLocale( " + EditFieldForecastForHedging.Text().AsQUILL() + " )"
+ + " or " + "object.SalesSegmentName().LikeUserLocale( " + EditFieldForecastForHedging.Text().AsQUILL() + " ) )"
+ + "and" + "( object.EndDate() < " + DateSelectorForecastForHedging.Date().StartOfNextMonth().AsQUILL() +
+ " and " + "object.EndDate() >= " + DateSelectorForecastForHedging.Date().StartOfMonth().AsQUILL() + " )"
+ );
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormForecastForHedging/Response_PanelForecastForHedging961_DateSelectorForecastForHedging_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormForecastForHedging/Response_PanelForecastForHedging961_DateSelectorForecastForHedging_OnCreated.def
new file mode 100644
index 0000000..2d9b51d
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormForecastForHedging/Response_PanelForecastForHedging961_DateSelectorForecastForHedging_OnCreated.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: PanelForecastForHedging961/DateSelectorForecastForHedging
+Response OnCreated () id:Response_PanelForecastForHedging961_DateSelectorForecastForHedging_OnCreated
+{
+ #keys: '[412960.0.124961321]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebComponent_OnCreated'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ this.Date( Date::ActualDate() );
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormForecastForHedging/_ROOT_Component_FormForecastForHedging.def b/_Main/UI/MacroPlannerWebApp/Component_FormForecastForHedging/_ROOT_Component_FormForecastForHedging.def
new file mode 100644
index 0000000..d3b3f75
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormForecastForHedging/_ROOT_Component_FormForecastForHedging.def
@@ -0,0 +1,43 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormForecastForHedging
+{
+ #keys: '[412960.0.116513237]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: PanelForecastForHedging
+ Component DataHolderForecastForHedging
+ {
+ #keys: '[412960.0.117670741]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'structured[Forecast]*'
+ Children:
+ [
+ Component DataExtractorForecastForHedging
+ {
+ #keys: '[412960.0.117620894]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'MacroPlan'
+ Source: 'MacroPlan'
+ Taborder: 0
+ Transformation: 'SalesDemand.astype(Forecast)'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 1
+ ]
+ }
+ ]
+ Properties:
+ [
+ Description: '鍐插噺鍔熻兘涓嬬殑棰勬祴鏁版嵁鐣岄潰'
+ Image: 'PURCHASE_ORDER'
+ Title: '棰勬祴鍒楄〃椤�'
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Views/Test_for_hedging.vw b/_Main/UI/MacroPlannerWebApp/Views/Test_for_hedging.vw
new file mode 100644
index 0000000..7bb36cf
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Views/Test_for_hedging.vw
@@ -0,0 +1,183 @@
+Quintiq file version 2.0
+{
+ viewcontents
+ {
+ forms
+ {
+ form_legacy_1
+ {
+ title: 'Currencies'
+ shown: true
+ componentID: 'FormCurrency'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 1
+ rowSpan: 8
+ columnPosition: 1
+ columnSpan: 6
+ }
+ components
+ {
+ FormCurrency_PanelCurrency
+ {
+ sizeRatio: 1
+ }
+ FormCurrency_ListCurrency
+ {
+ }
+ FormCurrency_DataSetLevelCurrency
+ {
+ groupDepth: -1
+ sort: 'DESC:IsBase,Name'
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 33
+ }
+ column_Base
+ {
+ columnId: 'Base'
+ dataPath: 'Base'
+ dataType: 'string'
+ title: '鍩虹'
+ index: 1
+ subtotals: ''
+ width: 30
+ }
+ column_InUse
+ {
+ columnId: 'InUse'
+ dataPath: 'InUse'
+ dataType: 'string'
+ title: 'InUse'
+ index: 2
+ subtotals: ''
+ width: 30
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 3
+ subtotals: ''
+ width: 150
+ }
+ column_Symbol
+ {
+ columnId: 'Symbol'
+ dataPath: 'Symbol'
+ dataType: 'string'
+ title: '璞″緛'
+ index: 4
+ subtotals: ''
+ width: 150
+ }
+ }
+ }
+ }
+ form_legacy_2
+ {
+ title: 'Currency rates'
+ shown: true
+ componentID: 'FormCurrencyRates'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 1
+ rowSpan: 8
+ columnPosition: 7
+ columnSpan: 6
+ }
+ components
+ {
+ FormCurrencyRates_ListCurrencyRate
+ {
+ }
+ FormCurrencyRates_DataSetLevelCurrencyRate
+ {
+ groupDepth: -1
+ sort: 'DESC:Start'
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 33
+ }
+ column_Start
+ {
+ columnId: 'Start'
+ dataPath: 'Start'
+ dataType: 'date'
+ title: '寮�濮�'
+ index: 1
+ subtotals: ''
+ width: 150
+ }
+ column_Rate
+ {
+ columnId: 'Rate'
+ dataPath: 'Rate'
+ dataType: 'real'
+ title: '閫熷害'
+ index: 2
+ subtotals: ''
+ width: 150
+ }
+ }
+ }
+ }
+ form_legacy_3
+ {
+ title: 'Currency rates chart'
+ shown: true
+ componentID: 'FormCurrencyRatesChart'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 9
+ rowSpan: 8
+ columnPosition: 1
+ columnSpan: 12
+ }
+ components
+ {
+ FormCurrencyRatesChart_DashboardChartCurrencyRates
+ {
+ SynchronizationGroup: ''
+ }
+ FormCurrencyRatesChart_DashboardChartCurrencyRates_legend
+ {
+ LegendItems:
+ [
+ ]
+ }
+ }
+ }
+ }
+ userconfigurableinformation
+ {
+ }
+ page: 'applicationDevelopmentActionBarPageDef'
+ group: ''
+ index: 0
+ image: 'APPLICATION_SERVER_PREFERENCES'
+ description: ''
+ }
+ formatversion: 2
+ id: 'Test_for_hedging'
+ name: 'Test for hedging'
+ isglobal: false
+ isroot: true
+}
diff --git a/_Main/UI/MacroPlannerWebApp/_ROOT_Project_MacroPlannerWebApp.qp b/_Main/UI/MacroPlannerWebApp/_ROOT_Project_MacroPlannerWebApp.qp
index cb94597..237ed78 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.32'
+ BuildVersion: '2022.3.0.72'
Description: 'Quintiq Macro Planner'
ProjectKind: 'WebClient'
}
--
Gitblit v1.9.3