From 9c210e5dfacbd0a593f6a5ac7c73a3388c702f5d Mon Sep 17 00:00:00 2001
From: lazhen <17772815105@139.com>
Date: 星期五, 05 七月 2024 17:29:06 +0800
Subject: [PATCH] 财务周报报表
---
_Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/Response_OnCreated.def | 16 +
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupReport_ButtonFinancialWeeklyReport_OnCli.def | 16 +
_Main/BL/Relations/Relation_FinancialWeeklyColumn_FinancialWeeklyCell_FinancialWeeklyCell_Finan.qbl | 26 +
_Main/BL/Type_FinancialWeeklyReport/Attribute_IsShow.qbl | 7
_Main/BL/Relations/Relation_FinancialWeeklyReport_FinancialWeeklyColumn_FinancialWeeklyColumn_F.qbl | 26 +
_Main/BL/Type_FinancialWeeklyColumn/Attribute_Index.qbl | 7
_Main/BL/Type_FinancialWeeklyReport/StaticMethod_GetDefaultName.qbl | 10
_Main/BL/Type_FinancialWeeklyRow/_ROOT_Type_FinancialWeeklyRow.qbl | 10
_Main/BL/Type_FinancialProductionReport/StaticMethod_GetDefaultDLUnit.qbl | 1
_Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/Response_PanelHeader_ButtonExport_OnClick.def | 18 +
_Main/BL/Type_FinancialWeeklyReport/StaticMethod_Initialize.qbl | 173 ++++++++++
_Main/BL/Type_FinancialWeeklyReport/StaticMethod_Download.qbl | 65 ++++
_Main/BL/Type_FinancialWeeklyRow/Attribute_RowNr.qbl | 7
_Main/BL/Type_FinancialProductionReport/StaticMethod_GetDefaultCCUnit.qbl | 1
_Main/BL/Type_FinancialWeeklyColumn/DefaultValue_Name.qbl | 6
_Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/Component_matrixEditorActionBarPageTable.def | 10
_Main/BL/Type_FinancialWeeklyReport/StaticMethod_GetDefaultDLUnit.qbl | 11
_Main/BL/Type_FinancialWeeklyCell/_ROOT_Type_FinancialWeeklyCell.qbl | 10
_Main/BL/Type_FinancialWeeklyReport/Method_GenerateColumn.qbl | 20 +
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupReport.def | 11
_Main/BL/Type_FinancialWeeklyCell/Attribute_Value.qbl | 7
_Main/BL/Type_FinancialWeeklyRow/DefaultValue_Name.qbl | 6
_Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/Component_matrixeditorContextMenuTable.def | 10
_Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/Component_MatrixEditorTable.def | 97 ++++++
_Main/BL/Relations/Relation_FinancialWeeklyReport_MacroPlan_MacroPlan_FinancialWeeklyReport.qbl | 23 +
_Main/BL/Type_FinancialWeeklyReport/DefaultValue_ID.qbl | 6
_Main/BL/Type_FinancialWeeklyRow/Attribute_Name.qbl | 7
_Main/BL/Type_FinancialWeeklyReport/StaticMethod_GetDefaultAllUnit.qbl | 10
_Main/BL/Type_FinancialWeeklyColumn/Attribute_Name.qbl | 7
_Main/BL/Type_FinancialWeeklyColumn/Attribute_Period.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/Component_PanelTable.def | 14
_Main/BL/Type_FinancialWeeklyColumn/_ROOT_Type_FinancialWeeklyColumn.qbl | 10
_Main/BL/Type_FinancialWeeklyReport/_ROOT_Type_FinancialWeeklyReport.qbl | 10
_Main/BL/Type_InventorySummaryReport/StaticMethod_GetDefaultCCUnit.qbl | 4
_Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/_ROOT_Component_FormFinancialWeeklyReport.def | 18 +
_Main/BL/Type_FinancialProductionCell/Function_CalcPlanValue.qbl | 13
_Main/BL/Type_FinancialWeeklyCell/DefaultValue_Value.qbl | 6
_Main/BL/Type_FinancialWeeklyReport/StaticMethod_GetDefaultCCUnit.qbl | 11
_Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/Component_PanelHeader.def | 25 +
_Main/BL/Type_FinancialWeeklyReport/Attribute_Name.qbl | 8
_Main/UI/MacroPlannerWebApp/Views/Financial_weekly_report_view.vw | 92 +++++
_Main/UI/MacroPlannerWebApp/Component_FormInventorySummaryReport/Component_PanelCategory.def | 1
_Main/BL/Relations/Relation_FinancialWeeklyRow_FinancialWeeklyCell_FinancialWeeklyCell_Financia.qbl | 23 +
_Main/BL/Type_FinancialWeeklyReport/DefaultValue_Name.qbl | 6
_Main/BL/Relations/Relation_FinancialWeeklyReport_FinancialWeeklyRow_FinancialWeeklyRow_Financi.qbl | 23 +
_Main/BL/Type_FinancialWeeklyReport/Attribute_ID.qbl | 8
_Main/BL/Type_FinancialProductionCell/Attribute_PlanValue.qbl | 8
_Main/BL/Type_FinancialWeeklyColumn/Function_CalcIndex.qbl | 13
_Main/BL/Type_InventorySummaryReport/StaticMethod_GetDefaultDLUnit.qbl | 4
49 files changed, 923 insertions(+), 5 deletions(-)
diff --git a/_Main/BL/Relations/Relation_FinancialWeeklyColumn_FinancialWeeklyCell_FinancialWeeklyCell_Finan.qbl b/_Main/BL/Relations/Relation_FinancialWeeklyColumn_FinancialWeeklyCell_FinancialWeeklyCell_Finan.qbl
new file mode 100644
index 0000000..d1549b6
--- /dev/null
+++ b/_Main/BL/Relations/Relation_FinancialWeeklyColumn_FinancialWeeklyCell_FinancialWeeklyCell_Finan.qbl
@@ -0,0 +1,26 @@
+Quintiq file version 2.0
+#parent: #root
+Relation FinancialWeeklyColumn_FinancialWeeklyCell_FinancialWeeklyCell_FinancialWeeklyColumn
+{
+ #keys: '1[415136.0.880724166]'
+ ProceduralSequenceRelationStrategy
+ {
+ #keys: '13[0.0.0][415136.0.880724185][415136.0.880724179][415136.0.880724186][415136.0.880724180][415136.0.880724187][415136.0.880724181][415136.0.880724188][415136.0.880724182][415136.0.880724189][415136.0.880724183][415136.0.880724190][415136.0.880724184]'
+ SequenceElementSuffix: 'CellInColumn'
+ SequenceSuffix: 'CellInColumn'
+ }
+ RelationSide.LeftSide FinancialWeeklyCell
+ {
+ #keys: '3[415136.0.880724168][415136.0.880724167][415136.0.880724169]'
+ Cardinality: '1toN'
+ ObjectDefinition: FinancialWeeklyColumn
+ OwningSide: 'Owned'
+ }
+ RelationSide.RightSide FinancialWeeklyColumn
+ {
+ #keys: '3[415136.0.880724171][415136.0.880724170][415136.0.880724172]'
+ Cardinality: '0to1'
+ ObjectDefinition: FinancialWeeklyCell
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_FinancialWeeklyReport_FinancialWeeklyColumn_FinancialWeeklyColumn_F.qbl b/_Main/BL/Relations/Relation_FinancialWeeklyReport_FinancialWeeklyColumn_FinancialWeeklyColumn_F.qbl
new file mode 100644
index 0000000..60e95e6
--- /dev/null
+++ b/_Main/BL/Relations/Relation_FinancialWeeklyReport_FinancialWeeklyColumn_FinancialWeeklyColumn_F.qbl
@@ -0,0 +1,26 @@
+Quintiq file version 2.0
+#parent: #root
+Relation FinancialWeeklyReport_FinancialWeeklyColumn_FinancialWeeklyColumn_FinancialWeeklyReport
+{
+ #keys: '1[415136.0.880724207]'
+ ProceduralSequenceRelationStrategy
+ {
+ #keys: '13[0.0.0][415136.0.880724228][415136.0.880724222][415136.0.880724229][415136.0.880724223][415136.0.880724230][415136.0.880724224][415136.0.880724231][415136.0.880724225][415136.0.880724232][415136.0.880724226][415136.0.880724233][415136.0.880724227]'
+ SequenceElementSuffix: 'Column'
+ SequenceSuffix: 'Column'
+ }
+ RelationSide.LeftSide FinancialWeeklyColumn
+ {
+ #keys: '3[415136.0.880724209][415136.0.880724208][415136.0.880724210]'
+ Cardinality: '1toN'
+ ObjectDefinition: FinancialWeeklyReport
+ OwningSide: 'Owned'
+ }
+ RelationSide.RightSide FinancialWeeklyReport
+ {
+ #keys: '3[415136.0.880724212][415136.0.880724211][415136.0.880724213]'
+ Cardinality: '0to1'
+ ObjectDefinition: FinancialWeeklyColumn
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_FinancialWeeklyReport_FinancialWeeklyRow_FinancialWeeklyRow_Financi.qbl b/_Main/BL/Relations/Relation_FinancialWeeklyReport_FinancialWeeklyRow_FinancialWeeklyRow_Financi.qbl
new file mode 100644
index 0000000..1e7eb8b
--- /dev/null
+++ b/_Main/BL/Relations/Relation_FinancialWeeklyReport_FinancialWeeklyRow_FinancialWeeklyRow_Financi.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation FinancialWeeklyReport_FinancialWeeklyRow_FinancialWeeklyRow_FinancialWeeklyReport
+{
+ #keys: '1[415136.0.880724123]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide FinancialWeeklyRow
+ {
+ #keys: '3[415136.0.880724125][415136.0.880724124][415136.0.880724126]'
+ Cardinality: '1toN'
+ ObjectDefinition: FinancialWeeklyReport
+ OwningSide: 'Owned'
+ }
+ RelationSide.RightSide FinancialWeeklyReport
+ {
+ #keys: '3[415136.0.880724128][415136.0.880724127][415136.0.880724129]'
+ Cardinality: '0to1'
+ ObjectDefinition: FinancialWeeklyRow
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_FinancialWeeklyReport_MacroPlan_MacroPlan_FinancialWeeklyReport.qbl b/_Main/BL/Relations/Relation_FinancialWeeklyReport_MacroPlan_MacroPlan_FinancialWeeklyReport.qbl
new file mode 100644
index 0000000..443896d
--- /dev/null
+++ b/_Main/BL/Relations/Relation_FinancialWeeklyReport_MacroPlan_MacroPlan_FinancialWeeklyReport.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation FinancialWeeklyReport_MacroPlan_MacroPlan_FinancialWeeklyReport
+{
+ #keys: '1[415136.0.880700289]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide MacroPlan
+ {
+ #keys: '3[415136.0.880700291][415136.0.880700290][415136.0.880700292]'
+ Cardinality: '0to1'
+ ObjectDefinition: FinancialWeeklyReport
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide FinancialWeeklyReport
+ {
+ #keys: '3[415136.0.880700294][415136.0.880700293][415136.0.880700295]'
+ Cardinality: '0to1'
+ ObjectDefinition: MacroPlan
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_FinancialWeeklyRow_FinancialWeeklyCell_FinancialWeeklyCell_Financia.qbl b/_Main/BL/Relations/Relation_FinancialWeeklyRow_FinancialWeeklyCell_FinancialWeeklyCell_Financia.qbl
new file mode 100644
index 0000000..8992c88
--- /dev/null
+++ b/_Main/BL/Relations/Relation_FinancialWeeklyRow_FinancialWeeklyCell_FinancialWeeklyCell_Financia.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation FinancialWeeklyRow_FinancialWeeklyCell_FinancialWeeklyCell_FinancialWeeklyRow
+{
+ #keys: '1[415136.0.880700305]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide FinancialWeeklyCell
+ {
+ #keys: '3[415136.0.880700307][415136.0.880700306][415136.0.880700308]'
+ Cardinality: '1toN'
+ ObjectDefinition: FinancialWeeklyRow
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide FinancialWeeklyRow
+ {
+ #keys: '3[415136.0.880700310][415136.0.880700309][415136.0.880700311]'
+ Cardinality: '0to1'
+ ObjectDefinition: FinancialWeeklyCell
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Type_FinancialProductionCell/Attribute_PlanValue.qbl b/_Main/BL/Type_FinancialProductionCell/Attribute_PlanValue.qbl
new file mode 100644
index 0000000..87d0ca7
--- /dev/null
+++ b/_Main/BL/Type_FinancialProductionCell/Attribute_PlanValue.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute PlanValue
+{
+ #keys: '3[415136.0.880970239][415136.0.880970238][415136.0.880970240]'
+ Description: '璁″垝鍊�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_FinancialProductionCell/Function_CalcPlanValue.qbl b/_Main/BL/Type_FinancialProductionCell/Function_CalcPlanValue.qbl
new file mode 100644
index 0000000..b51c61d
--- /dev/null
+++ b/_Main/BL/Type_FinancialProductionCell/Function_CalcPlanValue.qbl
@@ -0,0 +1,13 @@
+Quintiq file version 2.0
+#parent: #root
+Function CalcPlanValue
+{
+ TextBody:
+ [*
+ // 鐢勫叞楦� Jul-5-2024 (created)
+
+ value := ifexpr( this.FinancialProductionColumn().FinancialProductionReport().FinancialProductionSource().MacroPlan().StartOfPlanning().StartOfMonth().Date() <= this.FinancialProductionColumn().Period(), [Real]this.Value(), 0 );
+
+ this.PlanValue( value );
+ *]
+}
diff --git a/_Main/BL/Type_FinancialProductionReport/StaticMethod_GetDefaultCCUnit.qbl b/_Main/BL/Type_FinancialProductionReport/StaticMethod_GetDefaultCCUnit.qbl
index e469589..77d1f16 100644
--- a/_Main/BL/Type_FinancialProductionReport/StaticMethod_GetDefaultCCUnit.qbl
+++ b/_Main/BL/Type_FinancialProductionReport/StaticMethod_GetDefaultCCUnit.qbl
@@ -6,5 +6,6 @@
[*
// 鐢勫叞楦� Jun-25-2024 (created)
return '闀挎槬';
+ //return 'Assembly Plant (France)';
*]
}
diff --git a/_Main/BL/Type_FinancialProductionReport/StaticMethod_GetDefaultDLUnit.qbl b/_Main/BL/Type_FinancialProductionReport/StaticMethod_GetDefaultDLUnit.qbl
index 71132d4..4759121 100644
--- a/_Main/BL/Type_FinancialProductionReport/StaticMethod_GetDefaultDLUnit.qbl
+++ b/_Main/BL/Type_FinancialProductionReport/StaticMethod_GetDefaultDLUnit.qbl
@@ -6,5 +6,6 @@
[*
// 鐢勫叞楦� Jun-25-2024 (created)
return '澶ц繛';
+ //return 'Assembly Plant (Spain)';
*]
}
diff --git a/_Main/BL/Type_FinancialWeeklyCell/Attribute_Value.qbl b/_Main/BL/Type_FinancialWeeklyCell/Attribute_Value.qbl
new file mode 100644
index 0000000..d0100df
--- /dev/null
+++ b/_Main/BL/Type_FinancialWeeklyCell/Attribute_Value.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Value
+{
+ #keys: '3[415136.0.880700281][415136.0.880700280][415136.0.880700282]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_FinancialWeeklyCell/DefaultValue_Value.qbl b/_Main/BL/Type_FinancialWeeklyCell/DefaultValue_Value.qbl
new file mode 100644
index 0000000..913414b
--- /dev/null
+++ b/_Main/BL/Type_FinancialWeeklyCell/DefaultValue_Value.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+ TargetAttribute: Value
+}
diff --git a/_Main/BL/Type_FinancialWeeklyCell/_ROOT_Type_FinancialWeeklyCell.qbl b/_Main/BL/Type_FinancialWeeklyCell/_ROOT_Type_FinancialWeeklyCell.qbl
new file mode 100644
index 0000000..dcfd66f
--- /dev/null
+++ b/_Main/BL/Type_FinancialWeeklyCell/_ROOT_Type_FinancialWeeklyCell.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type FinancialWeeklyCell
+{
+ #keys: '5[415136.0.880700278][415136.0.880700276][0.0.0][415136.0.880700277][415136.0.880700279]'
+ BaseType: Object
+ Description: '璐㈠姟鍛ㄦ姤鎶ヨ〃鍗曞厓鏍�'
+ StructuredName: 'FinancialWeeklyCells'
+}
diff --git a/_Main/BL/Type_FinancialWeeklyColumn/Attribute_Index.qbl b/_Main/BL/Type_FinancialWeeklyColumn/Attribute_Index.qbl
new file mode 100644
index 0000000..e9d1d66
--- /dev/null
+++ b/_Main/BL/Type_FinancialWeeklyColumn/Attribute_Index.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Index
+{
+ #keys: '3[415136.0.880700264][415136.0.880700263][415136.0.880700265]'
+ ValueType: Number
+}
diff --git a/_Main/BL/Type_FinancialWeeklyColumn/Attribute_Name.qbl b/_Main/BL/Type_FinancialWeeklyColumn/Attribute_Name.qbl
new file mode 100644
index 0000000..8d33fbb
--- /dev/null
+++ b/_Main/BL/Type_FinancialWeeklyColumn/Attribute_Name.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Name
+{
+ #keys: '3[415136.0.880700267][415136.0.880700266][415136.0.880700268]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_FinancialWeeklyColumn/Attribute_Period.qbl b/_Main/BL/Type_FinancialWeeklyColumn/Attribute_Period.qbl
new file mode 100644
index 0000000..89fbd65
--- /dev/null
+++ b/_Main/BL/Type_FinancialWeeklyColumn/Attribute_Period.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Period
+{
+ #keys: '3[415136.0.880700270][415136.0.880700269][415136.0.880700271]'
+ ValueType: Date
+}
diff --git a/_Main/BL/Type_FinancialWeeklyColumn/DefaultValue_Name.qbl b/_Main/BL/Type_FinancialWeeklyColumn/DefaultValue_Name.qbl
new file mode 100644
index 0000000..86c3d59
--- /dev/null
+++ b/_Main/BL/Type_FinancialWeeklyColumn/DefaultValue_Name.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+ TargetAttribute: Name
+}
diff --git a/_Main/BL/Type_FinancialWeeklyColumn/Function_CalcIndex.qbl b/_Main/BL/Type_FinancialWeeklyColumn/Function_CalcIndex.qbl
new file mode 100644
index 0000000..9adb565
--- /dev/null
+++ b/_Main/BL/Type_FinancialWeeklyColumn/Function_CalcIndex.qbl
@@ -0,0 +1,13 @@
+Quintiq file version 2.0
+#parent: #root
+Function CalcIndex
+{
+ TextBody:
+ [*
+ // 鐢勫叞楦� Jun-21-2024 (created)1
+
+ value := ifexpr( isnull( this.PreviousColumn() ), 0, this.PreviousColumn().Index() + 1 );
+
+ this.Index( value );
+ *]
+}
diff --git a/_Main/BL/Type_FinancialWeeklyColumn/_ROOT_Type_FinancialWeeklyColumn.qbl b/_Main/BL/Type_FinancialWeeklyColumn/_ROOT_Type_FinancialWeeklyColumn.qbl
new file mode 100644
index 0000000..d58efd7
--- /dev/null
+++ b/_Main/BL/Type_FinancialWeeklyColumn/_ROOT_Type_FinancialWeeklyColumn.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type FinancialWeeklyColumn
+{
+ #keys: '5[415136.0.880700261][415136.0.880700259][0.0.0][415136.0.880700260][415136.0.880700262]'
+ BaseType: Object
+ Description: '璐㈠姟鍛ㄦ姤鍒�'
+ StructuredName: 'FinancialWeeklyColumns'
+}
diff --git a/_Main/BL/Type_FinancialWeeklyReport/Attribute_ID.qbl b/_Main/BL/Type_FinancialWeeklyReport/Attribute_ID.qbl
new file mode 100644
index 0000000..1615973
--- /dev/null
+++ b/_Main/BL/Type_FinancialWeeklyReport/Attribute_ID.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ID
+{
+ #keys: '3[415136.0.880700226][415136.0.880700225][415136.0.880700227]'
+ IsReadOnly: true
+ ValueType: String
+}
diff --git a/_Main/BL/Type_FinancialWeeklyReport/Attribute_IsShow.qbl b/_Main/BL/Type_FinancialWeeklyReport/Attribute_IsShow.qbl
new file mode 100644
index 0000000..91c8574
--- /dev/null
+++ b/_Main/BL/Type_FinancialWeeklyReport/Attribute_IsShow.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute IsShow
+{
+ #keys: '3[415136.0.880700229][415136.0.880700228][415136.0.880700230]'
+ ValueType: Boolean
+}
diff --git a/_Main/BL/Type_FinancialWeeklyReport/Attribute_Name.qbl b/_Main/BL/Type_FinancialWeeklyReport/Attribute_Name.qbl
new file mode 100644
index 0000000..f308987
--- /dev/null
+++ b/_Main/BL/Type_FinancialWeeklyReport/Attribute_Name.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Name
+{
+ #keys: '3[415136.0.880700232][415136.0.880700231][415136.0.880700233]'
+ Description: '鍚嶇О'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_FinancialWeeklyReport/DefaultValue_ID.qbl b/_Main/BL/Type_FinancialWeeklyReport/DefaultValue_ID.qbl
new file mode 100644
index 0000000..049abc0
--- /dev/null
+++ b/_Main/BL/Type_FinancialWeeklyReport/DefaultValue_ID.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+ TargetAttribute: ID
+}
diff --git a/_Main/BL/Type_FinancialWeeklyReport/DefaultValue_Name.qbl b/_Main/BL/Type_FinancialWeeklyReport/DefaultValue_Name.qbl
new file mode 100644
index 0000000..86c3d59
--- /dev/null
+++ b/_Main/BL/Type_FinancialWeeklyReport/DefaultValue_Name.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+ TargetAttribute: Name
+}
diff --git a/_Main/BL/Type_FinancialWeeklyReport/Method_GenerateColumn.qbl b/_Main/BL/Type_FinancialWeeklyReport/Method_GenerateColumn.qbl
new file mode 100644
index 0000000..3e3dbae
--- /dev/null
+++ b/_Main/BL/Type_FinancialWeeklyReport/Method_GenerateColumn.qbl
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: #root
+Method GenerateColumn (
+ MacroPlan owner
+)
+{
+ TextBody:
+ [*
+ // 鐢勫叞楦� Jun-25-2024 (created)
+ startofplanning := owner.StartOfPlanning();
+ startofyear := startofplanning.StartOfYear();
+ startofnextyear := startofplanning.StartOfNextYear();
+
+ for( start := startofyear; start < startofnextyear; start := start.StartOfNextMonth() ){
+ periodtime := start.Date();
+ periodname := periodtime.Format( "M2/D2/Y" );
+ this.FinancialWeeklyColumn( relnew, Name := periodname, Period := periodtime );
+ }
+ *]
+}
diff --git a/_Main/BL/Type_FinancialWeeklyReport/StaticMethod_Download.qbl b/_Main/BL/Type_FinancialWeeklyReport/StaticMethod_Download.qbl
new file mode 100644
index 0000000..1814b15
--- /dev/null
+++ b/_Main/BL/Type_FinancialWeeklyReport/StaticMethod_Download.qbl
@@ -0,0 +1,65 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Download (
+ MacroPlan macroPlan
+) as BinaryValue
+{
+ Description: '涓嬭浇璐㈠姟鎶ヨ〃鏁版嵁'
+ TextBody:
+ [*
+
+ table := macroPlan.FinancialWeeklyReport();
+
+ xmlDOMI := XMLDOMImplementation::Create();
+ xmlDOM := xmlDOMI.CreateDocumentFromString( '<?xml version="1.0" encoding="UTF-16"?><table><name>' + table.Name() + '</name></table>' );
+
+ tableElement := xmlDOM.GetElementByTagName( "table", 0 );
+ //琛屽悕
+ rowcolumnelement := xmlDOM.CreateElement( "column" );
+ rownameelement := xmlDOM.CreateElement( "name" );
+ rowtypeelement := xmlDOM.CreateElement( "type" );
+ rownameelement.TextContent( '' );
+ rowtypeelement.TextContent( "String" );
+ rowcolumnelement.AppendChild( rownameelement );
+ rowcolumnelement.AppendChild( rowtypeelement );
+
+ tableElement.AppendChild( rowcolumnelement );
+ traverse ( table, FinancialWeeklyColumn, column ) {
+ columnelement := xmlDOM.CreateElement( "column" );
+ nameelement := xmlDOM.CreateElement( "name" );
+ typeelement := xmlDOM.CreateElement( "type" );
+ nameelement.TextContent( column.Name() );
+ typeelement.TextContent( "String" );
+ columnelement.AppendChild( nameelement );
+ columnelement.AppendChild( typeelement );
+
+ cells := selectsortedset( column, FinancialWeeklyCell, cell, cell.FinancialWeeklyRow().RowNr() );
+
+ traverse ( cells, Elements, c ) {
+ if( column.Index() = 0 ){
+ row := c.FinancialWeeklyRow();
+ //琛屽悕
+ rowcellElement := xmlDOM.CreateElement( "cell" );
+ rowcellElement.SetAttribute( "value", row.Name() );
+ rowcolumnelement.AppendChild( rowcellElement );
+ }
+ cellElement := xmlDOM.CreateElement( "cell" );
+ cellElement.SetAttribute( "value", c.Value() );
+ columnelement.AppendChild( cellElement );
+ }
+ tableElement.AppendChild( columnelement );
+ }
+
+ xmlString := xmlDOMI.CreateSerializer().WriteToString( xmlDOM );
+
+ //info( xmlString );
+
+ tableGroupHandle := TableGroupHandle::Create( FinancialWeeklyReport::GetDefaultName() );
+ tableHandle := TableHandle::ImportXML( BinaryValue::Construct( xmlString ) );
+ tableGroupHandle.Add( tableHandle );
+
+ binaryData := XLS::SaveTableGroupToBinaryData( tableGroupHandle, true );
+
+ return binaryData.AsBinaryValue();
+ *]
+}
diff --git a/_Main/BL/Type_FinancialWeeklyReport/StaticMethod_GetDefaultAllUnit.qbl b/_Main/BL/Type_FinancialWeeklyReport/StaticMethod_GetDefaultAllUnit.qbl
new file mode 100644
index 0000000..518f4c6
--- /dev/null
+++ b/_Main/BL/Type_FinancialWeeklyReport/StaticMethod_GetDefaultAllUnit.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GetDefaultAllUnit () const as String
+{
+ TextBody:
+ [*
+ // 鐢勫叞楦� Jun-28-2024 (created)
+ return '<All>';
+ *]
+}
diff --git a/_Main/BL/Type_FinancialWeeklyReport/StaticMethod_GetDefaultCCUnit.qbl b/_Main/BL/Type_FinancialWeeklyReport/StaticMethod_GetDefaultCCUnit.qbl
new file mode 100644
index 0000000..739a84b
--- /dev/null
+++ b/_Main/BL/Type_FinancialWeeklyReport/StaticMethod_GetDefaultCCUnit.qbl
@@ -0,0 +1,11 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GetDefaultCCUnit () const as String
+{
+ TextBody:
+ [*
+ // 鐢勫叞楦� Jun-28-2024 (created)
+ return '闀挎槬';
+ //return 'Assembly Plant (France)';
+ *]
+}
diff --git a/_Main/BL/Type_FinancialWeeklyReport/StaticMethod_GetDefaultDLUnit.qbl b/_Main/BL/Type_FinancialWeeklyReport/StaticMethod_GetDefaultDLUnit.qbl
new file mode 100644
index 0000000..d544c74
--- /dev/null
+++ b/_Main/BL/Type_FinancialWeeklyReport/StaticMethod_GetDefaultDLUnit.qbl
@@ -0,0 +1,11 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GetDefaultDLUnit () const as String
+{
+ TextBody:
+ [*
+ // 鐢勫叞楦� Jun-28-2024 (created)
+ return '澶ц繛';
+ //return 'Assembly Plant (Spain)';
+ *]
+}
diff --git a/_Main/BL/Type_FinancialWeeklyReport/StaticMethod_GetDefaultName.qbl b/_Main/BL/Type_FinancialWeeklyReport/StaticMethod_GetDefaultName.qbl
new file mode 100644
index 0000000..9b7d1de
--- /dev/null
+++ b/_Main/BL/Type_FinancialWeeklyReport/StaticMethod_GetDefaultName.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GetDefaultName () const as String
+{
+ TextBody:
+ [*
+ // 鐢勫叞楦� Jun-25-2024 (created)
+ return 'Financial weekly';
+ *]
+}
diff --git a/_Main/BL/Type_FinancialWeeklyReport/StaticMethod_Initialize.qbl b/_Main/BL/Type_FinancialWeeklyReport/StaticMethod_Initialize.qbl
new file mode 100644
index 0000000..dcd3b98
--- /dev/null
+++ b/_Main/BL/Type_FinancialWeeklyReport/StaticMethod_Initialize.qbl
@@ -0,0 +1,173 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Initialize (
+ MacroPlan owner
+)
+{
+ Description: '鍒濆鍖�'
+ TextBody:
+ [*
+ // 鐢勫叞楦� Jul-4-2024 (created)
+ owner.FinancialWeeklyReport( relflush );
+ ccunit := FinancialWeeklyReport::GetDefaultCCUnit();
+ dlunit := FinancialWeeklyReport::GetDefaultDLUnit();
+ allunit := FinancialWeeklyReport::GetDefaultAllUnit();
+ defaultname := FinancialWeeklyReport::GetDefaultName();
+ startofplanning := owner.StartOfPlanning();
+
+ table := owner.FinancialWeeklyReport( relnew, ID := defaultname, Name := defaultname );
+ //浜ч噺鎶ヨ〃
+ productiontable := selectobject( owner, FinancialProductionSource.FinancialProductionReport, report, not report.IsImport() and not report.IsShow() );
+ //閿�閲忔姤琛�
+ salestable := selectobject( owner, FinancialSalesSource.FinancialSalesReport, report, not report.IsImport() and not report.IsShow() );
+
+ table.GenerateColumn( owner );
+ totalproduction := table.FinancialWeeklyRow( relnew, Name := '鎬讳骇閲�', RowNr := 1 );
+ dlproduction := table.FinancialWeeklyRow( relnew, Name := 'DL浜ч噺', RowNr := 2 );
+ ccproduction := table.FinancialWeeklyRow( relnew, Name := 'CC浜ч噺', RowNr := 3 );
+ totalsales := table.FinancialWeeklyRow( relnew, Name := '鎬婚攢閲�', RowNr := 4 );
+ dlsales := table.FinancialWeeklyRow( relnew, Name := 'DL閿�閲�', RowNr := 5 );
+ ccsales := table.FinancialWeeklyRow( relnew, Name := 'CC閿�閲�', RowNr := 6 );
+ //SUM
+ totalpvaluesum := [Real]0;
+ dlpvaluesum := [Real]0;
+ ccpvaluesum := [Real]0;
+ totalsvaluesum := [Real]0;
+ dlsvaluesum := [Real]0;
+ ccsvaluesum := [Real]0;
+ //绱閲�
+ totalpvaluecumulant := [Real]0;
+ dlpvaluecumulant := [Real]0;
+ ccpvaluecumulant := [Real]0;
+ totalsvaluecumulant := [Real]0;
+ dlsvaluecumulant := [Real]0;
+ ccsvaluecumulant := [Real]0;
+
+ traverse( table, FinancialWeeklyColumn, column ){
+ productioncolumn := selectobject( productiontable, FinancialProductionColumn, pcolumn, pcolumn.Name() = column.Name() and pcolumn.Period() = column.Period() );
+ salescolumn := selectobject( salestable, FinancialSalesColumn, scolumn, scolumn.Name() = column.Name() and scolumn.Period() = column.Period() );
+
+ //浜ч噺姹囨��
+ totalpvalue := [Real]0;
+ dlpvalue := [Real]0;
+ ccpvalue := [Real]0;
+ traverse( productioncolumn, FinancialProductionCell, cell, [Real]cell.Value() > 0 ){
+ unit := cell.FinancialProductionRow().Unit();
+
+ if( unit = allunit ){
+ totalpvalue := totalpvalue + [Real]cell.Value();
+ if( column.Period() = startofplanning.StartOfMonth().Date() ){
+ totalpvaluecumulant := totalpvaluecumulant - cell.PlanValue();
+ }
+ }else if( unit = dlunit ){
+ dlpvalue := dlpvalue + [Real]cell.Value();
+ if( column.Period() = startofplanning.StartOfMonth().Date() ){
+ dlpvaluecumulant := dlpvaluecumulant - cell.PlanValue();
+ }
+ }else if( unit = ccunit ){
+ ccpvalue := ccpvalue + [Real]cell.Value();
+ if( column.Period() = startofplanning.StartOfMonth().Date() ){
+ ccpvaluecumulant := ccpvaluecumulant - cell.PlanValue();
+ }
+ }
+ }
+ totalpcell := column.FinancialWeeklyCell( relnew, Value := [String]totalpvalue );
+ totalproduction.FinancialWeeklyCell( relinsert, totalpcell );
+ dlpcell := column.FinancialWeeklyCell( relnew, Value := [String]dlpvalue );
+ dlproduction.FinancialWeeklyCell( relinsert, dlpcell );
+ ccpcell := column.FinancialWeeklyCell( relnew, Value := [String]ccpvalue );
+ ccproduction.FinancialWeeklyCell( relinsert, ccpcell );
+
+ //閿�閲忔眹鎬�
+ totalsvalue := [Real]0;
+ dlsvalue := [Real]0;
+ ccsvalue := [Real]0;
+ traverse( salescolumn, FinancialSalesCell, cell, [Real]cell.Value() > 0 ){
+ unit := cell.FinancialSalesRow().Unit();
+ if( unit = allunit ){
+ totalsvalue := totalsvalue + [Real]cell.Value();
+ }else if( unit = dlunit ){
+ dlsvalue := dlsvalue + [Real]cell.Value();
+ }else if( unit = ccunit ){
+ ccsvalue := ccsvalue + [Real]cell.Value();
+ }
+ }
+ totalscell := column.FinancialWeeklyCell( relnew, Value := [String]totalsvalue );
+ totalsales.FinancialWeeklyCell( relinsert, totalscell );
+ dlscell := column.FinancialWeeklyCell( relnew, Value := [String]dlsvalue );
+ dlsales.FinancialWeeklyCell( relinsert, dlscell );
+ ccscell := column.FinancialWeeklyCell( relnew, Value := [String]ccsvalue );
+ ccsales.FinancialWeeklyCell( relinsert, ccscell );
+
+ if( column.Period() < startofplanning.StartOfMonth().Date() ){
+ totalpvaluecumulant := totalpvaluecumulant + totalpvalue;
+ dlpvaluecumulant := dlpvaluecumulant + dlpvalue;
+ ccpvaluecumulant := ccpvaluecumulant + ccpvalue;
+ totalsvaluecumulant := totalsvaluecumulant + totalsvalue;
+ dlsvaluecumulant := dlsvaluecumulant + dlsvalue;
+ ccsvaluecumulant := ccsvaluecumulant + ccsvalue;
+ }
+ totalpvaluesum := totalpvaluesum + totalpvalue;
+ dlpvaluesum := dlpvaluesum + dlpvalue;
+ ccpvaluesum := ccpvaluesum + ccpvalue;
+ totalsvaluesum := totalsvaluesum + totalsvalue;
+ dlsvaluesum := dlsvaluesum + dlsvalue;
+ ccsvaluesum := ccsvaluesum + ccsvalue;
+ }
+ sumcolumn := table.FinancialWeeklyColumn( relnew, Name := 'SUM' );
+ cumulantcolumn := table.FinancialWeeklyColumn( relnew, Name := '绱閲�' );
+ proportioncolumn := table.FinancialWeeklyColumn( relnew, Name := '鍗犳瘮' );
+ //SUM
+ totalpcellsum := sumcolumn.FinancialWeeklyCell( relnew, Value := [String]totalpvaluesum );
+ totalproduction.FinancialWeeklyCell( relinsert, totalpcellsum );
+ dlpcellsum := sumcolumn.FinancialWeeklyCell( relnew, Value := [String]dlpvaluesum );
+ dlproduction.FinancialWeeklyCell( relinsert, dlpcellsum );
+ ccpcellsum := sumcolumn.FinancialWeeklyCell( relnew, Value := [String]ccpvaluesum );
+ ccproduction.FinancialWeeklyCell( relinsert, ccpcellsum );
+ totalscellsum := sumcolumn.FinancialWeeklyCell( relnew, Value := [String]totalsvaluesum );
+ totalsales.FinancialWeeklyCell( relinsert, totalscellsum );
+ dlscellsum := sumcolumn.FinancialWeeklyCell( relnew, Value := [String]dlsvaluesum );
+ dlsales.FinancialWeeklyCell( relinsert, dlscellsum );
+ ccscellsum := sumcolumn.FinancialWeeklyCell( relnew, Value := [String]ccsvaluesum );
+ ccsales.FinancialWeeklyCell( relinsert, ccscellsum );
+ //绱閲�
+ totalpcellcumulant := cumulantcolumn.FinancialWeeklyCell( relnew, Value := [String]totalpvaluecumulant );
+ totalproduction.FinancialWeeklyCell( relinsert, totalpcellcumulant );
+ dlpcellcumulant := cumulantcolumn.FinancialWeeklyCell( relnew, Value := [String]dlpvaluecumulant );
+ dlproduction.FinancialWeeklyCell( relinsert, dlpcellcumulant );
+ ccpcellcumulant := cumulantcolumn.FinancialWeeklyCell( relnew, Value := [String]ccpvaluecumulant );
+ ccproduction.FinancialWeeklyCell( relinsert, ccpcellcumulant );
+ totalscellcumulant := cumulantcolumn.FinancialWeeklyCell( relnew, Value := [String]totalsvaluecumulant );
+ totalsales.FinancialWeeklyCell( relinsert, totalscellcumulant );
+ dlscellcumulant := cumulantcolumn.FinancialWeeklyCell( relnew, Value := [String]dlsvaluecumulant );
+ dlsales.FinancialWeeklyCell( relinsert, dlscellcumulant );
+ ccscellcumulant := cumulantcolumn.FinancialWeeklyCell( relnew, Value := [String]ccsvaluecumulant );
+ ccsales.FinancialWeeklyCell( relinsert, ccscellcumulant );
+ //鍗犳瘮
+ totalpvalueproportion := guard( ( totalpvaluecumulant / totalpvaluesum ).Format( 'N(Dec(2))' ), '0.00' );
+ totalpcellproportion := proportioncolumn.FinancialWeeklyCell( relnew, Value := totalpvalueproportion );
+ totalproduction.FinancialWeeklyCell( relinsert, totalpcellproportion );
+
+ dlpvalueproportion := guard( ( dlpvaluecumulant / dlpvaluesum ).Format( 'N(Dec(2))' ), '0.00' );
+ dlpcellproportion := proportioncolumn.FinancialWeeklyCell( relnew, Value := dlpvalueproportion );
+ dlproduction.FinancialWeeklyCell( relinsert, dlpcellproportion );
+
+ ccpvalueproportion := guard( ( ccpvaluecumulant / ccpvaluesum ).Format( 'N(Dec(2))' ), '0.00' );
+ ccpcellproportion := proportioncolumn.FinancialWeeklyCell( relnew, Value := ccpvalueproportion );
+ ccproduction.FinancialWeeklyCell( relinsert, ccpcellproportion );
+
+ totalsvalueproportion := guard( ( totalsvaluecumulant / totalsvaluesum ).Format( 'N(Dec(2))' ), '0.00' );
+ totalscellproportion := proportioncolumn.FinancialWeeklyCell( relnew, Value := totalsvalueproportion );
+ totalsales.FinancialWeeklyCell( relinsert, totalscellproportion );
+
+ dlsvalueproportion := guard( ( dlsvaluecumulant / dlsvaluesum ).Format( 'N(Dec(2))' ), '0.00' );
+ dlscellproportion := proportioncolumn.FinancialWeeklyCell( relnew, Value := dlsvalueproportion );
+ dlsales.FinancialWeeklyCell( relinsert, dlscellproportion );
+
+ ccsvalueproportion := guard( ( ccsvaluecumulant / ccsvaluesum ).Format( 'N(Dec(2))' ), '0.00' );
+ ccscellproportion := proportioncolumn.FinancialWeeklyCell( relnew, Value := ccsvalueproportion );
+ ccsales.FinancialWeeklyCell( relinsert, ccscellproportion );
+
+ info( sumcolumn.FinancialWeeklyCell( relsize ), cumulantcolumn.FinancialWeeklyCell( relsize ), proportioncolumn.FinancialWeeklyCell( relsize ) );
+ *]
+}
diff --git a/_Main/BL/Type_FinancialWeeklyReport/_ROOT_Type_FinancialWeeklyReport.qbl b/_Main/BL/Type_FinancialWeeklyReport/_ROOT_Type_FinancialWeeklyReport.qbl
new file mode 100644
index 0000000..0d8d278
--- /dev/null
+++ b/_Main/BL/Type_FinancialWeeklyReport/_ROOT_Type_FinancialWeeklyReport.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type FinancialWeeklyReport
+{
+ #keys: '5[415136.0.880700223][415136.0.880700221][0.0.0][415136.0.880700222][415136.0.880700224]'
+ BaseType: Object
+ Description: '璐㈠姟鍛ㄦ姤鎶ヨ〃'
+ StructuredName: 'FinancialWeeklyReports'
+}
diff --git a/_Main/BL/Type_FinancialWeeklyRow/Attribute_Name.qbl b/_Main/BL/Type_FinancialWeeklyRow/Attribute_Name.qbl
new file mode 100644
index 0000000..f048b61
--- /dev/null
+++ b/_Main/BL/Type_FinancialWeeklyRow/Attribute_Name.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Name
+{
+ #keys: '3[415136.0.880700246][415136.0.880700245][415136.0.880700247]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_FinancialWeeklyRow/Attribute_RowNr.qbl b/_Main/BL/Type_FinancialWeeklyRow/Attribute_RowNr.qbl
new file mode 100644
index 0000000..1c9317f
--- /dev/null
+++ b/_Main/BL/Type_FinancialWeeklyRow/Attribute_RowNr.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute RowNr
+{
+ #keys: '3[415136.0.880700249][415136.0.880700248][415136.0.880700250]'
+ ValueType: Number
+}
diff --git a/_Main/BL/Type_FinancialWeeklyRow/DefaultValue_Name.qbl b/_Main/BL/Type_FinancialWeeklyRow/DefaultValue_Name.qbl
new file mode 100644
index 0000000..86c3d59
--- /dev/null
+++ b/_Main/BL/Type_FinancialWeeklyRow/DefaultValue_Name.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+ TargetAttribute: Name
+}
diff --git a/_Main/BL/Type_FinancialWeeklyRow/_ROOT_Type_FinancialWeeklyRow.qbl b/_Main/BL/Type_FinancialWeeklyRow/_ROOT_Type_FinancialWeeklyRow.qbl
new file mode 100644
index 0000000..e68f59a
--- /dev/null
+++ b/_Main/BL/Type_FinancialWeeklyRow/_ROOT_Type_FinancialWeeklyRow.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type FinancialWeeklyRow
+{
+ #keys: '5[415136.0.880700240][415136.0.880700238][0.0.0][415136.0.880700239][415136.0.880700241]'
+ BaseType: Object
+ Description: '璐㈠姟鍛ㄦ姤琛�'
+ StructuredName: 'FinancialWeeklyRows'
+}
diff --git a/_Main/BL/Type_InventorySummaryReport/StaticMethod_GetDefaultCCUnit.qbl b/_Main/BL/Type_InventorySummaryReport/StaticMethod_GetDefaultCCUnit.qbl
index 8379d63..739a84b 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 'Assembly Plant (France)';
+ return '闀挎槬';
+ //return 'Assembly Plant (France)';
*]
}
diff --git a/_Main/BL/Type_InventorySummaryReport/StaticMethod_GetDefaultDLUnit.qbl b/_Main/BL/Type_InventorySummaryReport/StaticMethod_GetDefaultDLUnit.qbl
index 6bc2a6f..d544c74 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 'Assembly Plant (Spain)';
+ return '澶ц繛';
+ //return 'Assembly Plant (Spain)';
*]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupReport.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupReport.def
index 68f5a8f..ab55c75 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupReport.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupReport.def
@@ -38,6 +38,17 @@
Taborder: 2
]
}
+ Component ButtonFinancialWeeklyReport
+ {
+ #keys: '[415136.0.882254645]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'DOCUMENT_DIRTY'
+ Label: 'Financial weekly report'
+ Taborder: 3
+ ]
+ }
]
Properties:
[
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupReport_ButtonFinancialWeeklyReport_OnCli.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupReport_ButtonFinancialWeeklyReport_OnCli.def
new file mode 100644
index 0000000..980aac3
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupReport_ButtonFinancialWeeklyReport_OnCli.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: ActionBarGroupReport/ButtonFinancialWeeklyReport
+Response OnClick () id:Response_MacroPlanner_ActionBarGroupReport_ButtonFinancialWeeklyReport_OnClick
+{
+ #keys: '[415136.0.882254805]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ ApplicationScope.ViewManager().ResetUserViewById( "Financial_weekly_report_view", true);
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/Component_MatrixEditorTable.def b/_Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/Component_MatrixEditorTable.def
new file mode 100644
index 0000000..4b02630
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/Component_MatrixEditorTable.def
@@ -0,0 +1,97 @@
+Quintiq file version 2.0
+Component MatrixEditorTable
+{
+ #keys: '[415136.0.881011903]'
+ BaseType: 'WebMatrixEditor'
+ Children:
+ [
+ Component MatrixEditorCellTable
+ {
+ #keys: '[415136.0.881011904]'
+ BaseType: 'WebMatrixEditorCell'
+ Children:
+ [
+ Component DataExtractorTable
+ {
+ #keys: '[415136.0.881011905]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'MacroPlan'
+ Source: 'MacroPlan'
+ Taborder: 0
+ Transformation: 'FinancialWeeklyReport.FinancialWeeklyColumn.FinancialWeeklyCell'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Attributes: 'Value'
+ Column: 'FinancialWeeklyColumn'
+ Row: 'FinancialWeeklyRow'
+ Taborder: 0
+ ]
+ }
+ Component MatrixEditorRowsTable
+ {
+ #keys: '[415136.0.881011908]'
+ BaseType: 'WebMatrixEditorHeaderLevel'
+ Children:
+ [
+ Component DataExtractorRow
+ {
+ #keys: '[415136.0.881011909]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'MacroPlan'
+ Source: 'MacroPlan'
+ Taborder: 0
+ Transformation: 'FinancialWeeklyReport.FinancialWeeklyRow'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Legend: 'Name'
+ SortCriteria: 'RowNr'
+ Taborder: 1
+ ]
+ }
+ Component MatrixEditorColumnsTable
+ {
+ #keys: '[415136.0.881011912]'
+ BaseType: 'WebMatrixEditorHeaderLevel'
+ Children:
+ [
+ Component DataExtractorColumn
+ {
+ #keys: '[415136.0.881011913]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'MacroPlan'
+ Source: 'MacroPlan'
+ Taborder: 0
+ Transformation: 'FinancialWeeklyReport.FinancialWeeklyColumn'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Legend: 'Name'
+ SortCriteria: 'Index'
+ Taborder: 2
+ ]
+ }
+ #child: matrixEditorActionBarPageTable
+ #child: matrixeditorContextMenuTable
+ ]
+ Properties:
+ [
+ Columns: 'MatrixEditorColumnsTable'
+ ContextMenu: 'matrixeditorContextMenuTable'
+ Rows: 'MatrixEditorRowsTable'
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/Component_PanelHeader.def b/_Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/Component_PanelHeader.def
new file mode 100644
index 0000000..8d20e9e
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/Component_PanelHeader.def
@@ -0,0 +1,25 @@
+Quintiq file version 2.0
+Component PanelHeader
+{
+ #keys: '[415136.0.881011755]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component ButtonExport
+ {
+ #keys: '[415136.0.881011811]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'EXPORT1'
+ Taborder: 0
+ ]
+ }
+ ]
+ Properties:
+ [
+ FixedSize: true
+ Orientation: 'horizontal'
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/Component_PanelTable.def b/_Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/Component_PanelTable.def
new file mode 100644
index 0000000..410f2fd
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/Component_PanelTable.def
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+Component PanelTable
+{
+ #keys: '[415136.0.881011874]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ #child: MatrixEditorTable
+ ]
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/Component_matrixEditorActionBarPageTable.def b/_Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/Component_matrixEditorActionBarPageTable.def
new file mode 100644
index 0000000..4e80537
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/Component_matrixEditorActionBarPageTable.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component matrixEditorActionBarPageTable
+{
+ #keys: '[415136.0.881011916]'
+ BaseType: 'matrixEditorActionBarPage'
+ Properties:
+ [
+ Taborder: 3
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/Component_matrixeditorContextMenuTable.def b/_Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/Component_matrixeditorContextMenuTable.def
new file mode 100644
index 0000000..d8d4084
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/Component_matrixeditorContextMenuTable.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component matrixeditorContextMenuTable
+{
+ #keys: '[415136.0.881011919]'
+ BaseType: 'matrixeditorContextMenu'
+ Properties:
+ [
+ Taborder: 4
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/Response_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/Response_OnCreated.def
new file mode 100644
index 0000000..3cf4d42
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/Response_OnCreated.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: #root
+Response OnCreated () id:Response_FormFinancialWeeklyReport_OnCreated
+{
+ #keys: '[415136.0.882110991]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebComponent_OnCreated'
+ QuillAction
+ {
+ Body:
+ [*
+ FinancialWeeklyReport::Initialize( MacroPlan );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/Response_PanelHeader_ButtonExport_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/Response_PanelHeader_ButtonExport_OnClick.def
new file mode 100644
index 0000000..d0c2cab
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/Response_PanelHeader_ButtonExport_OnClick.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: PanelHeader/ButtonExport
+Response OnClick () id:Response_PanelHeader_ButtonExport_OnClick
+{
+ #keys: '[415136.0.882111199]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ binaryValue := FinancialWeeklyReport::Download( MacroPlan );
+
+ Application.Download( FinancialWeeklyReport::GetDefaultName() + '.xlsx', binaryValue.AsBinaryData() );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/_ROOT_Component_FormFinancialWeeklyReport.def b/_Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/_ROOT_Component_FormFinancialWeeklyReport.def
new file mode 100644
index 0000000..af4455d
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/_ROOT_Component_FormFinancialWeeklyReport.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormFinancialWeeklyReport
+{
+ #keys: '[415136.0.881011703]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: PanelHeader
+ #child: PanelTable
+ ]
+ Properties:
+ [
+ Image: 'DOCUMENT_DIRTY'
+ Title: 'Financial weekly report'
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInventorySummaryReport/Component_PanelCategory.def b/_Main/UI/MacroPlannerWebApp/Component_FormInventorySummaryReport/Component_PanelCategory.def
index 1c06644..fe8fadd 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormInventorySummaryReport/Component_PanelCategory.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormInventorySummaryReport/Component_PanelCategory.def
@@ -11,7 +11,6 @@
BaseType: 'WebRadioButtonGroup'
Properties:
[
- BoundValue: 'Day'
ButtonLabels: 'Day;Week;Month'
ButtonValues: 'Day;Week;Month'
Orientation: 'horizontal'
diff --git a/_Main/UI/MacroPlannerWebApp/Views/Financial_weekly_report_view.vw b/_Main/UI/MacroPlannerWebApp/Views/Financial_weekly_report_view.vw
new file mode 100644
index 0000000..64db5a0
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Views/Financial_weekly_report_view.vw
@@ -0,0 +1,92 @@
+Quintiq file version 2.0
+{
+ viewcontents
+ {
+ forms
+ {
+ form_FormFinancialWeeklyReport
+ {
+ title: 'QMacroPlanner::FormFinancialWeeklyReport'
+ shown: true
+ componentID: 'QMacroPlanner::FormFinancialWeeklyReport'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 1
+ rowSpan: 15
+ columnPosition: 1
+ columnSpan: 13
+ }
+ components
+ {
+ FormFinancialWeeklyReport_PanelHeader
+ {
+ sizeRatio: 1
+ }
+ FormFinancialWeeklyReport_PanelTable
+ {
+ sizeRatio: 1
+ }
+ FormFinancialWeeklyReport_MatrixEditorTable
+ {
+ gridColor: '#c4c4c4'
+ totalHeaderWidth: 67
+ attributeHeaderWidthRatio: 0.6
+ nameHeaderWidthRatio: 0.4
+ columnWidth: 100
+ horizontalGrid: true
+ verticalGrid: true
+ backendState
+ {
+ componentId: 'QMacroPlanner::FormFinancialWeeklyReport.MatrixEditorTable'
+ state
+ {
+ cells
+ {
+ attributes
+ {
+ attribute_Value
+ {
+ type: 'MatrixEditorWebApiCellDataModelInterest'
+ index: 0
+ rowsubtotal: ''
+ columnsubtotal: ''
+ attribute: 'Value'
+ }
+ }
+ }
+ columns
+ {
+ sorting
+ {
+ criteria: "datamember:'Index'"
+ }
+ }
+ rows
+ {
+ sorting
+ {
+ criteria: "datamember:'RowNr'"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ userconfigurableinformation
+ {
+ }
+ page: ''
+ group: ''
+ index: 19
+ image: 'DOCUMENT_DIRTY'
+ description: ''
+ }
+ formatversion: 2
+ id: 'Financial_weekly_report_view'
+ name: 'Financial weekly report view'
+ isglobal: false
+ isroot: true
+}
--
Gitblit v1.9.3