From fa3ad1cf772791f453cf09582fdf2292b9f8468c Mon Sep 17 00:00:00 2001
From: lazhen <17772815105@139.com>
Date: 星期五, 22 十一月 2024 16:11:21 +0800
Subject: [PATCH] Merge branch 'dev' of http://47.101.211.7:10101/r/VWED into dev-zlg
---
_Main/UI/MacroPlannerWebApp/Component_FormArchiveShiftPlan/Component_matrixEditorActionBarPageArchiveShiftPlan.def | 10
_Main/UI/MacroPlannerWebApp/Component_FormTRCForecast/_ROOT_Component_FormTRCForecast.def | 13
_Main/UI/MacroPlannerWebApp/Views/TRCForecastArchive.vw | 226 +++++++++++++++
_Main/UI/MacroPlannerWebApp/Component_FormForecasts/Component_ListSalesDemands.def | 4
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditForecast/Method_SplitUsingCurve.def | 20 +
_Main/UI/MacroPlannerWebApp/Component_FormForecasts/Component_listContextMenuSD.def | 28 +
_Main/UI/MacroPlannerWebApp/Component_FormTRCForecast/Component_pContent.def | 14
_Main/UI/MacroPlannerWebApp/Component_FormForecasts/Response_MacroPlanner_ListSalesDemands_MenuSplitUsingCurve_OnClick.def | 19 +
_Main/UI/MacroPlannerWebApp/Component_FormArchiveShiftPlan/Component_PanelArchiveShiftPlan812.def | 14
_Main/UI/MacroPlannerWebApp/Component_FormArchiveShiftPlan/_ROOT_Component_FormArchiveShiftPlan.def | 18 +
_Main/UI/MacroPlannerWebApp/Component_FormTRCForecast/Component_pHeader.def | 27 +
_Main/UI/MacroPlannerWebApp/Component_FormTRCForecast/Component_listContextMenuTRCForecast#1.def | 10
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupArchiveReport_bTRCForecastArchive_OnClic.def | 16 +
_Main/UI/MacroPlannerWebApp/Component_FormArchiveShiftPlan/Component_MatrixEditorArchiveShiftPlan.def | 98 ++++++
_Main/UI/MacroPlannerWebApp/Views/ArchiveShiftPlan.vw | 233 +++++++++++++++
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupArchiveReport.def | 22 +
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupArchiveReport_ButtonArchiveReport_OnClic.def | 17 +
_Main/UI/MacroPlannerWebApp/Component_FormTRCForecast/Response_pHeader_bArchive_OnClick.def | 22 +
_Main/UI/MacroPlannerWebApp/Component_FormArchiveShiftPlan/Component_matrixeditorContextMenuArchiveShiftPlan.def | 10
_Main/UI/MacroPlannerWebApp/Component_FormTRCForecast/Component_listActionBarPageTRCForecast#1.def | 10
_Main/UI/MacroPlannerWebApp/Component_FormArchiveShiftPlan/Component_PanelArchiveShiftPlan.def | 11
_Main/UI/MacroPlannerWebApp/Component_FormTRCForecast/Component_ListTRCForecast#715.def | 41 ++
22 files changed, 883 insertions(+), 0 deletions(-)
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupArchiveReport.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupArchiveReport.def
index 269a374..6d2c76c 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupArchiveReport.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupArchiveReport.def
@@ -79,9 +79,31 @@
[
Image: 'RSS'
Label: '瀹為檯姣忔棩鐢熶骇璁″垝'
+ Taborder: 7
+ ]
+ }
+ Component ButtonArchiveReport
+ {
+ #keys: '[414996.1.245462991]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'KEYBOARD_KEY_SHIFT'
+ Label: 'Archive shift plan'
Taborder: 6
]
}
+ Component bTRCForecastArchive
+ {
+ #keys: '[413988.1.153623307]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'CLOUD'
+ Label: 'TRC 闇�姹傚瓨妗�'
+ Taborder: 8
+ ]
+ }
]
Properties:
[
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupArchiveReport_ButtonArchiveReport_OnClic.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupArchiveReport_ButtonArchiveReport_OnClic.def
new file mode 100644
index 0000000..e8d262c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupArchiveReport_ButtonArchiveReport_OnClic.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: ActionBarGroupArchiveReport/ButtonArchiveReport
+Response OnClick () id:Response_MacroPlanner_ActionBarGroupArchiveReport_ButtonArchiveReport_OnClick
+{
+ #keys: '[414996.1.245463078]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ // Open view
+ ApplicationMacroPlanner.OpenView( 'ArchiveShiftPlan', this );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupArchiveReport_bTRCForecastArchive_OnClic.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupArchiveReport_bTRCForecastArchive_OnClic.def
new file mode 100644
index 0000000..e6cfa16
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupArchiveReport_bTRCForecastArchive_OnClic.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: ActionBarGroupArchiveReport/bTRCForecastArchive
+Response OnClick () id:Response_MacroPlanner_ActionBarGroupArchiveReport_bTRCForecastArchive_OnClick
+{
+ #keys: '[413988.1.153703587]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ ApplicationMacroPlanner.OpenView( 'TRCForecastArchive', this );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditForecast/Method_SplitUsingCurve.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditForecast/Method_SplitUsingCurve.def
new file mode 100644
index 0000000..3235720
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditForecast/Method_SplitUsingCurve.def
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: #root
+Method SplitUsingCurve () id:Method_DialogCreateEditForecast_SplitUsingCurve
+{
+ #keys: '[414996.1.244251122]'
+ Body:
+ [*
+ // New Sales demand
+ owner := select( DataHolderProduct.Data(), Elements, e, not e.IsSystem() );
+ data := owner.SalesDemand( relshadow, Forecast, ID := "" ); // Temporary set ID to empty, will be set during OnOK
+
+ PanelCurve.Visible( true );
+ bSplitUsingCurve.Visible( true );
+ btnOk.Visible( false );
+
+ DataHolderDialogData.Data( &data );
+ Form.SetDefaultValue();
+ ApplicationMacroPlanner.ShowFormModal( Form );
+ *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormArchiveShiftPlan/Component_MatrixEditorArchiveShiftPlan.def b/_Main/UI/MacroPlannerWebApp/Component_FormArchiveShiftPlan/Component_MatrixEditorArchiveShiftPlan.def
new file mode 100644
index 0000000..68a79ae
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormArchiveShiftPlan/Component_MatrixEditorArchiveShiftPlan.def
@@ -0,0 +1,98 @@
+Quintiq file version 2.0
+Component MatrixEditorArchiveShiftPlan
+{
+ #keys: '[414996.1.242621343]'
+ BaseType: 'WebMatrixEditor'
+ Children:
+ [
+ Component MatrixEditorCellArchiveShiftPlan
+ {
+ #keys: '[414996.1.242621344]'
+ BaseType: 'WebMatrixEditorCell'
+ Children:
+ [
+ Component DataExtractorArchiveShiftPlan
+ {
+ #keys: '[414996.1.242621345]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'Archive'
+ Source: 'Archive'
+ Taborder: 0
+ Transformation: 'ArchiveShiftPlanRow.ArchiveShiftPlanCell'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Attributes: 'EventType;IsHoliday;Outcome;Remark;MacroPlanName'
+ Column: 'ArchiveShiftPlanColumn'
+ Row: 'ArchiveShiftPlanRow'
+ Taborder: 0
+ ]
+ }
+ Component MatrixEditorRowsArchiveShiftPlan
+ {
+ #keys: '[414996.1.242621348]'
+ BaseType: 'WebMatrixEditorHeaderLevel'
+ Children:
+ [
+ Component DataExtractor830
+ {
+ #keys: '[414996.1.242621349]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'Archive'
+ Source: 'Archive'
+ Taborder: 0
+ Transformation: 'ArchiveShiftPlanRow'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Legend: 'UnitID'
+ SortCriteria: 'UnitID'
+ Taborder: 1
+ ]
+ }
+ Component MatrixEditorColumnsArchiveShiftPlan
+ {
+ #keys: '[414996.1.242621352]'
+ BaseType: 'WebMatrixEditorHeaderLevel'
+ Children:
+ [
+ Component DataExtractor576
+ {
+ #keys: '[414996.1.242621353]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'Archive'
+ Source: 'Archive'
+ Taborder: 0
+ Transformation: 'ArchiveShiftPlanColumn'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Legend: 'StartDate'
+ SortCriteria: 'StartDate'
+ Taborder: 2
+ ]
+ }
+ #child: matrixEditorActionBarPageArchiveShiftPlan
+ #child: matrixeditorContextMenuArchiveShiftPlan
+ ]
+ Properties:
+ [
+ AllowMultipleAttributes: true
+ Columns: 'MatrixEditorColumnsArchiveShiftPlan'
+ ContextMenu: 'matrixeditorContextMenuArchiveShiftPlan'
+ Rows: 'MatrixEditorRowsArchiveShiftPlan'
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormArchiveShiftPlan/Component_PanelArchiveShiftPlan.def b/_Main/UI/MacroPlannerWebApp/Component_FormArchiveShiftPlan/Component_PanelArchiveShiftPlan.def
new file mode 100644
index 0000000..13df5cc
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormArchiveShiftPlan/Component_PanelArchiveShiftPlan.def
@@ -0,0 +1,11 @@
+Quintiq file version 2.0
+Component PanelArchiveShiftPlan
+{
+ #keys: '[414996.1.242621266]'
+ BaseType: 'WebPanel'
+ Properties:
+ [
+ FixedSize: true
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormArchiveShiftPlan/Component_PanelArchiveShiftPlan812.def b/_Main/UI/MacroPlannerWebApp/Component_FormArchiveShiftPlan/Component_PanelArchiveShiftPlan812.def
new file mode 100644
index 0000000..fa097a3
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormArchiveShiftPlan/Component_PanelArchiveShiftPlan812.def
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+Component PanelArchiveShiftPlan812
+{
+ #keys: '[414996.1.242621284]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ #child: MatrixEditorArchiveShiftPlan
+ ]
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormArchiveShiftPlan/Component_matrixEditorActionBarPageArchiveShiftPlan.def b/_Main/UI/MacroPlannerWebApp/Component_FormArchiveShiftPlan/Component_matrixEditorActionBarPageArchiveShiftPlan.def
new file mode 100644
index 0000000..b46f52d
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormArchiveShiftPlan/Component_matrixEditorActionBarPageArchiveShiftPlan.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component matrixEditorActionBarPageArchiveShiftPlan
+{
+ #keys: '[414996.1.242621356]'
+ BaseType: 'matrixEditorActionBarPage'
+ Properties:
+ [
+ Taborder: 3
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormArchiveShiftPlan/Component_matrixeditorContextMenuArchiveShiftPlan.def b/_Main/UI/MacroPlannerWebApp/Component_FormArchiveShiftPlan/Component_matrixeditorContextMenuArchiveShiftPlan.def
new file mode 100644
index 0000000..c06b193
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormArchiveShiftPlan/Component_matrixeditorContextMenuArchiveShiftPlan.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component matrixeditorContextMenuArchiveShiftPlan
+{
+ #keys: '[414996.1.242621359]'
+ BaseType: 'matrixeditorContextMenu'
+ Properties:
+ [
+ Taborder: 4
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormArchiveShiftPlan/_ROOT_Component_FormArchiveShiftPlan.def b/_Main/UI/MacroPlannerWebApp/Component_FormArchiveShiftPlan/_ROOT_Component_FormArchiveShiftPlan.def
new file mode 100644
index 0000000..1ec637a
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormArchiveShiftPlan/_ROOT_Component_FormArchiveShiftPlan.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormArchiveShiftPlan
+{
+ #keys: '[414996.1.242621193]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: PanelArchiveShiftPlan
+ #child: PanelArchiveShiftPlan812
+ ]
+ Properties:
+ [
+ Image: 'KEYBOARD_KEY_SHIFT'
+ Title: 'Archive Shift Plan'
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormForecasts/Component_ListSalesDemands.def b/_Main/UI/MacroPlannerWebApp/Component_FormForecasts/Component_ListSalesDemands.def
index 5fc2143..1411531 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormForecasts/Component_ListSalesDemands.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormForecasts/Component_ListSalesDemands.def
@@ -5,6 +5,10 @@
[
Component DataSetLevelSalesDemands #extension
{
+ Children:
+ [
+ #child: listContextMenuSD
+ ]
Properties:
[
Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeAllConstraint","columnid":"All constraints","title":"All constraints","subtotals":"","tooltip":"","width":1,"display":"shown"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImgNotLinkedToPeriod","title":"ImgNotLinkedToPeriod","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ImgNotLinkedToPeriod"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImgIsPostponed","title":"ImgIsPostponed","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ImgIsPostponed"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPoint_MP.ID","title":"Stocking point","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"StockingPoint_MP.ID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SalesSegment_MP.Name","title":"Sales segment","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"SalesSegment_MP.Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Product_MP.ID","title":"Product","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"Product_MP.ID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"Start","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"EndDate","title":"End","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"EndDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasure_MP.Name","title":"Quantity UoM","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"UnitOfMeasure_MP.Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"Original Qty","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"NettedQuantity","title":"Quantity","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"NettedQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"FulfilledQuantity","title":"Fulfilled","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"FulfilledQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeChart","columnid":"Fulfillment Illustration","title":"Fulfillment","subtotals":"","tooltip":"","width":-1,"display":"shown","type":"stackbar","relative":true,"attributes":[{"name":"Fulfilled demand","color":"rgb(87,184,71)","expression":{"classtype":"WebApiDefinitionAttributeExpression","columnid":"Fulfillment","title":"Fulfilled demand","subtotals":"","tooltip":"","width":-1,"display":"shown","expressionbody":"object.FulfilledQuantity().Round(2)"}},{"name":"Unfulfilled demand","color":"rgb(232,123,0)","expression":{"classtype":"WebApiDefinitionAttributeExpression","columnid":"Unfulfilled demand","title":"Unfulfilled demand","subtotals":"","tooltip":"","width":-1,"display":"shown","expressionbody":"maxvalue(object.NettedQuantity()-object.FulfilledQuantity(),0.0).Round(2)"}}]}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Price","title":"Price","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Price"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PriceUoM","title":"PriceUoM","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"PriceUoM"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Priority.Name","title":"Priority","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"Priority.Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DemandUncertaintyPercentage","title":"Uncertainty","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"DemandUncertaintyPercentage"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Origin","title":"Origin","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Origin"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Differnce","title":"Differnce","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Differnce"}}]'
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormForecasts/Component_listContextMenuSD.def b/_Main/UI/MacroPlannerWebApp/Component_FormForecasts/Component_listContextMenuSD.def
new file mode 100644
index 0000000..a228488
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormForecasts/Component_listContextMenuSD.def
@@ -0,0 +1,28 @@
+Quintiq file version 2.0
+Component listContextMenuSD #extension
+{
+ Children:
+ [
+ Component MenuSeparator2
+ {
+ #keys: '[414996.1.244250822]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Separator: true
+ Taborder: 10
+ ]
+ }
+ Component MenuSplitUsingCurve
+ {
+ #keys: '[414996.1.244250869]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'GRAPH_FORK'
+ Taborder: 11
+ Title: 'Split using curve'
+ ]
+ }
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormForecasts/Response_MacroPlanner_ListSalesDemands_MenuSplitUsingCurve_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormForecasts/Response_MacroPlanner_ListSalesDemands_MenuSplitUsingCurve_OnClick.def
new file mode 100644
index 0000000..5651dd8
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormForecasts/Response_MacroPlanner_ListSalesDemands_MenuSplitUsingCurve_OnClick.def
@@ -0,0 +1,19 @@
+Quintiq file version 2.0
+#parent: ListSalesDemands
+Response OnClick () id:Response_MacroPlanner_ListSalesDemands_MenuSplitUsingCurve_OnClick
+{
+ #keys: '[414996.1.245583277]'
+ CanBindMultiple: false
+ DefinitionID => //FormSalesDemands/ListSalesDemands/Responsedef_ListSalesDemands_WebMenu_OnClick
+ GroupServerCalls: true
+ Initiator: 'MenuSplitUsingCurve'
+ QuillAction
+ {
+ Body:
+ [*
+ //Create new sales demand
+ dlg := construct( DialogCreateEditForecast );
+ dlg.SplitUsingCurve();
+ *]
+ }
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormTRCForecast/Component_ListTRCForecast\043715.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormTRCForecast/Component_ListTRCForecast\043715.def"
new file mode 100644
index 0000000..7318244
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormTRCForecast/Component_ListTRCForecast\043715.def"
@@ -0,0 +1,41 @@
+Quintiq file version 2.0
+Component ListTRCForecast id:ListTRCForecast_715
+{
+ #keys: '[413988.1.153585043]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractorTRCForecast
+ {
+ #keys: '[413988.1.153585044]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'InterfaceDataset'
+ Source: 'InterfaceDataset'
+ Taborder: 0
+ Transformation: 'InterfaceTRCForecast'
+ ]
+ }
+ #child: listActionBarPageTRCForecast_1
+ Component DataSetLevelTRCForecast
+ {
+ #keys: '[413988.1.153585046]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenuTRCForecast_1
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Date","title":"Date","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Date"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Factory","title":"Factory","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Factory"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Generation","title":"Generation","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Generation"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MLBMQB","title":"MLBMQB","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MLBMQB"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PartNumber","title":"PartNumber","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PartNumber"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Power","title":"Power","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Power"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"Quantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}}]'
+ ContextMenu: 'listContextMenuTRCForecast'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormTRCForecast/Component_listActionBarPageTRCForecast\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormTRCForecast/Component_listActionBarPageTRCForecast\0431.def"
new file mode 100644
index 0000000..b4d51e6
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormTRCForecast/Component_listActionBarPageTRCForecast\0431.def"
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPageTRCForecast id:listActionBarPageTRCForecast_1
+{
+ #keys: '[413988.1.153585045]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormTRCForecast/Component_listContextMenuTRCForecast\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormTRCForecast/Component_listContextMenuTRCForecast\0431.def"
new file mode 100644
index 0000000..5a6ef17
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormTRCForecast/Component_listContextMenuTRCForecast\0431.def"
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listContextMenuTRCForecast id:listContextMenuTRCForecast_1
+{
+ #keys: '[413988.1.153585047]'
+ BaseType: 'listContextMenu'
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormTRCForecast/Component_pContent.def b/_Main/UI/MacroPlannerWebApp/Component_FormTRCForecast/Component_pContent.def
new file mode 100644
index 0000000..eb38c4d
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormTRCForecast/Component_pContent.def
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+Component pContent
+{
+ #keys: '[413988.1.153584900]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ #child: ListTRCForecast_715
+ ]
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormTRCForecast/Component_pHeader.def b/_Main/UI/MacroPlannerWebApp/Component_FormTRCForecast/Component_pHeader.def
new file mode 100644
index 0000000..82c332f
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormTRCForecast/Component_pHeader.def
@@ -0,0 +1,27 @@
+Quintiq file version 2.0
+Component pHeader
+{
+ #keys: '[413988.1.153584890]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component bArchive
+ {
+ #keys: '[413988.1.153585113]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'DOCUMENT_ZIP'
+ Label: '瀛樻。'
+ Taborder: 0
+ ]
+ }
+ ]
+ Properties:
+ [
+ Border: true
+ FixedSize: true
+ Orientation: 'horizontal'
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormTRCForecast/Response_pHeader_bArchive_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormTRCForecast/Response_pHeader_bArchive_OnClick.def
new file mode 100644
index 0000000..20458b9
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormTRCForecast/Response_pHeader_bArchive_OnClick.def
@@ -0,0 +1,22 @@
+Quintiq file version 2.0
+#parent: pHeader/bArchive
+Response OnClick () id:Response_pHeader_bArchive_OnClick
+{
+ #keys: '[413988.1.153530591]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ Precondition:
+ [*
+ return not isnull( InterfaceDataset ) and not isnull( MacroPlan );
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ InterfaceTRCForecast::ArchivedData( InterfaceDataset, MacroPlan );
+
+ WebMessageBox::Success( Translations::A_VWED_Success() );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormTRCForecast/_ROOT_Component_FormTRCForecast.def b/_Main/UI/MacroPlannerWebApp/Component_FormTRCForecast/_ROOT_Component_FormTRCForecast.def
new file mode 100644
index 0000000..6879088
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormTRCForecast/_ROOT_Component_FormTRCForecast.def
@@ -0,0 +1,13 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormTRCForecast
+{
+ #keys: '[413988.1.153584709]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: pHeader
+ #child: pContent
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Views/ArchiveShiftPlan.vw b/_Main/UI/MacroPlannerWebApp/Views/ArchiveShiftPlan.vw
new file mode 100644
index 0000000..55a716f
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Views/ArchiveShiftPlan.vw
@@ -0,0 +1,233 @@
+Quintiq file version 2.0
+{
+ viewcontents
+ {
+ forms
+ {
+ form_FormArchiveShiftPlan
+ {
+ title: 'QMacroPlanner::FormArchiveShiftPlan'
+ shown: true
+ componentID: 'QMacroPlanner::FormArchiveShiftPlan'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 1
+ rowSpan: 25
+ columnPosition: 1
+ columnSpan: 9
+ }
+ components
+ {
+ FormArchiveShiftPlan_PanelArchiveShiftPlan
+ {
+ sizeRatio: 1
+ }
+ FormArchiveShiftPlan_PanelArchiveShiftPlan812
+ {
+ sizeRatio: 1
+ }
+ FormArchiveShiftPlan_MatrixEditorArchiveShiftPlan
+ {
+ gridColor: '#c4c4c4'
+ totalHeaderWidth: 200
+ attributeHeaderWidthRatio: 0.6
+ nameHeaderWidthRatio: 0.4
+ columnWidth: 100
+ horizontalGrid: true
+ verticalGrid: true
+ backendState
+ {
+ componentId: 'QMacroPlanner::FormArchiveShiftPlan.MatrixEditorArchiveShiftPlan'
+ state
+ {
+ cells
+ {
+ attributes
+ {
+ attribute_EventType
+ {
+ type: 'MatrixEditorWebApiCellDataModelInterest'
+ index: 0
+ rowsubtotal: ''
+ columnsubtotal: ''
+ attribute: 'EventType'
+ }
+ attribute_IsHoliday
+ {
+ type: 'MatrixEditorWebApiCellDataModelInterest'
+ index: 1
+ rowsubtotal: ''
+ columnsubtotal: ''
+ attribute: 'IsHoliday'
+ }
+ attribute_Outcome
+ {
+ type: 'MatrixEditorWebApiCellDataModelInterest'
+ index: 2
+ rowsubtotal: ''
+ columnsubtotal: ''
+ attribute: 'Outcome'
+ }
+ attribute_Remark
+ {
+ type: 'MatrixEditorWebApiCellDataModelInterest'
+ index: 3
+ rowsubtotal: ''
+ columnsubtotal: ''
+ attribute: 'Remark'
+ }
+ attribute_MacroPlanName
+ {
+ type: 'MatrixEditorWebApiCellDataModelInterest'
+ index: 4
+ rowsubtotal: ''
+ columnsubtotal: ''
+ attribute: 'MacroPlanName'
+ }
+ }
+ }
+ columns
+ {
+ sorting
+ {
+ criteria: "datamember:'StartDate'"
+ }
+ }
+ rows
+ {
+ sorting
+ {
+ criteria: "datamember:'UnitID'"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ form_FormOptimizerPuzzles
+ {
+ title: 'Optimizer Puzzles'
+ shown: false
+ componentID: 'FormOptimizerPuzzles'
+ layout
+ {
+ mode: 'dockright'
+ index: 0
+ }
+ components
+ {
+ FormOptimizerPuzzles_ListOptimizerPuzzles
+ {
+ }
+ FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: 'Name'
+ index: 1
+ subtotals: ''
+ width: 109
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ title: 'Description'
+ index: 2
+ subtotals: ''
+ width: 207
+ }
+ }
+ }
+ }
+ form_FormKPI
+ {
+ title: 'KPI Dashboard'
+ shown: true
+ componentID: 'FormKPI'
+ layout
+ {
+ mode: 'dockright'
+ index: 1
+ }
+ components
+ {
+ FormKPI_PanelKPI
+ {
+ sizeRatio: 1
+ activeChild: 'PanelKPISelection'
+ }
+ FormKPI_PanelKPIDashboard
+ {
+ sizeRatio: 1
+ }
+ FormKPI_PanelKPISelection
+ {
+ sizeRatio: 1
+ }
+ FormKPI_ListKPISelection
+ {
+ QuillViewData
+ {
+ Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
+ }
+ }
+ FormKPI_DataSetLevelKPISelection
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: 'Name'
+ index: 1
+ subtotals: ''
+ width: 200
+ }
+ }
+ }
+ }
+ }
+ userconfigurableinformation
+ {
+ }
+ image: 'KEYBOARD_KEY_SHIFT'
+ page: ''
+ group: ''
+ index: 0
+ description: ''
+ }
+ formatversion: 2
+ id: 'ArchiveShiftPlan'
+ name: 'ArchiveShiftPlan'
+ isglobal: false
+ isroot: true
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Views/TRCForecastArchive.vw b/_Main/UI/MacroPlannerWebApp/Views/TRCForecastArchive.vw
new file mode 100644
index 0000000..228c90a
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Views/TRCForecastArchive.vw
@@ -0,0 +1,226 @@
+Quintiq file version 2.0
+{
+ viewcontents
+ {
+ forms
+ {
+ form_FormTRCForecast
+ {
+ title: 'QMacroPlanner::FormTRCForecast'
+ shown: true
+ componentID: 'QMacroPlanner::FormTRCForecast'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 1
+ rowSpan: 14
+ columnPosition: 1
+ columnSpan: 12
+ }
+ components
+ {
+ FormTRCForecast_pHeader
+ {
+ sizeRatio: 1
+ }
+ FormTRCForecast_pContent
+ {
+ sizeRatio: 1
+ }
+ FormTRCForecast_ListTRCForecast
+ {
+ }
+ FormTRCForecast_DataSetLevelTRCForecast
+ {
+ groupDepth: -1
+ column_Date
+ {
+ columnId: 'Date'
+ dataPath: 'Date'
+ dataType: 'date'
+ index: 0
+ subtotals: ''
+ width: 150
+ }
+ column_Factory
+ {
+ columnId: 'Factory'
+ dataPath: 'Factory'
+ dataType: 'string'
+ index: 1
+ subtotals: ''
+ width: 150
+ }
+ column_Generation
+ {
+ columnId: 'Generation'
+ dataPath: 'Generation'
+ dataType: 'string'
+ index: 2
+ subtotals: ''
+ width: 150
+ }
+ column_MLBMQB
+ {
+ columnId: 'MLBMQB'
+ dataPath: 'MLBMQB'
+ dataType: 'string'
+ index: 3
+ subtotals: ''
+ width: 150
+ }
+ column_PartNumber
+ {
+ columnId: 'PartNumber'
+ dataPath: 'PartNumber'
+ dataType: 'string'
+ index: 4
+ subtotals: ''
+ width: 150
+ }
+ column_Power
+ {
+ columnId: 'Power'
+ dataPath: 'Power'
+ dataType: 'string'
+ index: 5
+ subtotals: ''
+ width: 150
+ }
+ column_Quantity
+ {
+ columnId: 'Quantity'
+ dataPath: 'Quantity'
+ dataType: 'real'
+ index: 6
+ subtotals: ''
+ width: 150
+ }
+ }
+ }
+ }
+ form_FormOptimizerPuzzles
+ {
+ title: 'Optimizer Puzzles'
+ shown: false
+ componentID: 'FormOptimizerPuzzles'
+ layout
+ {
+ mode: 'dockright'
+ index: 0
+ }
+ components
+ {
+ FormOptimizerPuzzles_ListOptimizerPuzzles
+ {
+ }
+ FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: 'Name'
+ index: 1
+ subtotals: ''
+ width: 109
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ title: 'Description'
+ index: 2
+ subtotals: ''
+ width: 207
+ }
+ }
+ }
+ }
+ form_FormKPI
+ {
+ title: 'KPI Dashboard'
+ shown: true
+ componentID: 'FormKPI'
+ layout
+ {
+ mode: 'dockright'
+ index: 1
+ }
+ components
+ {
+ FormKPI_PanelKPI
+ {
+ sizeRatio: 1
+ activeChild: 'PanelKPISelection'
+ }
+ FormKPI_PanelKPIDashboard
+ {
+ sizeRatio: 1
+ }
+ FormKPI_PanelKPISelection
+ {
+ sizeRatio: 1
+ }
+ FormKPI_ListKPISelection
+ {
+ QuillViewData
+ {
+ Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
+ }
+ }
+ FormKPI_DataSetLevelKPISelection
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: 'Name'
+ index: 1
+ subtotals: ''
+ width: 200
+ }
+ }
+ }
+ }
+ }
+ userconfigurableinformation
+ {
+ }
+ page: ''
+ group: ''
+ index: 0
+ image: 'CLOUD'
+ description: ''
+ }
+ formatversion: 2
+ id: 'TRCForecastArchive'
+ name: 'TRCForecastArchive'
+ isglobal: false
+ isroot: true
+}
--
Gitblit v1.9.3