From 48ce218f5329dd9a3e2ba8851b101a5b85f8aab4 Mon Sep 17 00:00:00 2001
From: hongjli <3117313295@qq.com>
Date: 星期一, 25 九月 2023 15:54:18 +0800
Subject: [PATCH] 产能分配结果优化
---
_Main/BL/Type_CapacityAllocationResults/Attribute_Date.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/_ROOT_Component_FormCapacityAllocationResultsRuleConfiguration.def | 26 ++
_Main/BL/EDI/Broker_GlobalOTDTable_CAR_Export.qbl | 65 +++++
_Main/BL/Type_CapacityAllocationResults/Attribute_ID.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_PanelImportAndExport_Export_OnClick.def | 16 +
_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/Attribute_ModuleMaterialCode.qbl | 1
_Main/UI/MacroPlanner/Component_FormTestButtonCollection/Response_Button398_OnClick.def | 2
_Main/BL/Type_CapacityAllocationResults/StaticMethod_Export.qbl | 13 +
_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/Attribute_StockingPointID.qbl | 3
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_listActionBarPageCapacityAllocationResults.def | 2
_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration2.qbl | 78 +++++
_Main/BL/Type_CapacityAllocationResults/Attribute_ManufacturedDate.qbl | 7
_Main/BL/Type_CapacityAllocationResults/StaticMethod_CreateDate.qbl | 11
_Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/Component_pnlContent.def | 4
_Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/Response_pnlActions_btnOk_OnClick.def | 9
_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/TypeIndex_CapacityAllocationResultsRuleConfigurationTypeIndex.qbl | 20 +
_Main/BL/EDI/Broker_GlobalOTDTable_CARRC_Export.qbl | 49 ++++
_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/StaticMethod_Import.qbl | 14 +
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Component_PanelImportAndExport.def | 37 +++
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_PanelImportAndExport_Import_OnClick.def | 29 ++
_Main/BL/Type_CapacityAllocationResults/DeclarativeReferenceRelation_CalcCapacityAllocationResultsRuleConfiguration.qbl | 15 +
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_PanelCapacityAllocationResults.def | 37 +++
_Main/BL/Relations/Relation_CapacityAllocationResultsRuleConfiguration_CapacityAllocationResult.qbl | 23 +
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_DataHolderSelectCapacityAllocationResultsRuleConfiguration_OnDataCh.def | 18 +
_Main/BL/Type_CapacityAllocationResults/Attribute_ProductID.qbl | 7
_Main/BL/Type_CapacityAllocationResults/Attribute_StockingPointID.qbl | 7
_Main/BL/Type_CapacityAllocationResults/Attribute_UserQuantity.qbl | 7
_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/Attribute_PanelMaterialCode.qbl | 1
/dev/null | 16 -
_Main/BL/EDI/Broker_GlobalOTDTable_CARRC_Import.qbl | 49 ++++
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_listContextMenuCapacityAllocationResults.def | 2
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_ListCapacityAllocationResults.def | 14
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Component_ListCapacityAllocationResultsRuleConfiguration.def | 2
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/_ROOT_Component_FormCapacityAllocationResults.def | 12
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Response_PanelCapacityAllocationResults_Export_OnClick.def | 16 +
_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/StaticMethod_Export.qbl | 14 +
_Main/BL/Type_CapacityAllocationResults/Attribute_Description.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Response_PanelCapacityAllocationResults_ButtonGenerateCapacityAllocationR#39.def | 16 +
38 files changed, 604 insertions(+), 59 deletions(-)
diff --git a/_Main/BL/EDI/Broker_GlobalOTDTable_CARRC_Export.qbl b/_Main/BL/EDI/Broker_GlobalOTDTable_CARRC_Export.qbl
new file mode 100644
index 0000000..d50d284
--- /dev/null
+++ b/_Main/BL/EDI/Broker_GlobalOTDTable_CARRC_Export.qbl
@@ -0,0 +1,49 @@
+Quintiq file version 2.0
+#parent: #root
+EDIBroker GlobalOTDTable_CARRC_Export
+{
+ MDSDefinition: GlobalOTDTable
+ TimeZone: 'ACT'
+ UseOSTimeZone: false
+ EDIModelLink.Source Source11
+ {
+ EDIMLTable CapacityAllocationResultsRuleConfiguration
+ {
+ PrimaryKeyColumns: ModuleMaterialCode
+ PrimaryKeyColumns: PanelMaterialCode
+ PrimaryKeyColumns: StockingPointID
+ TargetType: CapacityAllocationResultsRuleConfiguration
+ TypeIndex: CapacityAllocationResultsRuleConfigurationTypeIndex
+ EDIMLColumn Division { Attribute: Division ValueType: String }
+ EDIMLColumn ModuleMaterialCode { Attribute: ModuleMaterialCode ValueType: String }
+ EDIMLColumn PanelMaterialCode { Attribute: PanelMaterialCode ValueType: String }
+ EDIMLColumn StockingPointID { Attribute: StockingPointID ValueType: String }
+ }
+ }
+ EDITransformation.Transformation Transformation11
+ {
+ EDITableTransformation
+ {
+ InputTable: CapacityAllocationResultsRuleConfiguration
+ OutputTable: CapacityAllocationResultsRuleConfiguration
+ EDIColumnMatch { InputColumn: Division OutputColumn: Division }
+ EDIColumnMatch { InputColumn: ModuleMaterialCode OutputColumn: ModuleMaterialCode }
+ EDIColumnMatch { InputColumn: PanelMaterialCode OutputColumn: PanelMaterialCode }
+ EDIColumnMatch { InputColumn: StockingPointID OutputColumn: StockingPointID }
+ }
+ }
+ EDIXLSLink.Destination Destination12
+ {
+ FileName: 'Destination12'
+ EDIXLSLinkTable CapacityAllocationResultsRuleConfiguration
+ {
+ Columns:
+ [
+ EDIXLSLinkColumn Division { ValueType: String }
+ EDIXLSLinkColumn ModuleMaterialCode { ValueType: String }
+ EDIXLSLinkColumn PanelMaterialCode { ValueType: String }
+ EDIXLSLinkColumn StockingPointID { ValueType: String }
+ ]
+ }
+ }
+}
diff --git a/_Main/BL/EDI/Broker_GlobalOTDTable_CARRC_Import.qbl b/_Main/BL/EDI/Broker_GlobalOTDTable_CARRC_Import.qbl
new file mode 100644
index 0000000..e539ed2
--- /dev/null
+++ b/_Main/BL/EDI/Broker_GlobalOTDTable_CARRC_Import.qbl
@@ -0,0 +1,49 @@
+Quintiq file version 2.0
+#parent: #root
+EDIBroker GlobalOTDTable_CARRC_Import
+{
+ MDSDefinition: GlobalOTDTable
+ TimeZone: 'ACT'
+ UseOSTimeZone: false
+ EDIModelLink.Destination Destination13
+ {
+ EDIMLTable CapacityAllocationResultsRuleConfiguration
+ {
+ PrimaryKeyColumns: ModuleMaterialCode
+ PrimaryKeyColumns: PanelMaterialCode
+ PrimaryKeyColumns: StockingPointID
+ TargetType: CapacityAllocationResultsRuleConfiguration
+ TypeIndex: CapacityAllocationResultsRuleConfigurationTypeIndex
+ EDIMLColumn Division { Attribute: Division ValueType: String }
+ EDIMLColumn ModuleMaterialCode { Attribute: ModuleMaterialCode ValueType: String }
+ EDIMLColumn PanelMaterialCode { Attribute: PanelMaterialCode ValueType: String }
+ EDIMLColumn StockingPointID { Attribute: StockingPointID ValueType: String }
+ }
+ }
+ EDITransformation.Transformation Transformation12
+ {
+ EDITableTransformation
+ {
+ InputTable: CapacityAllocationResultsRuleCo
+ OutputTable: CapacityAllocationResultsRuleConfiguration
+ EDIColumnMatch { InputColumn: Division OutputColumn: Division }
+ EDIColumnMatch { InputColumn: ModuleMaterialCode OutputColumn: ModuleMaterialCode }
+ EDIColumnMatch { InputColumn: PanelMaterialCode OutputColumn: PanelMaterialCode }
+ EDIColumnMatch { InputColumn: StockingPointID OutputColumn: StockingPointID }
+ }
+ }
+ EDIXLSLink.Source Source12
+ {
+ FileName: '浜ц兘鍒嗛厤缁撴灉瑙勫垯.xlsx'
+ EDIXLSLinkTable CapacityAllocationResultsRuleCo
+ {
+ Columns:
+ [
+ EDIXLSLinkColumn Division { ValueType: String }
+ EDIXLSLinkColumn ModuleMaterialCode { ValueType: String }
+ EDIXLSLinkColumn PanelMaterialCode { ValueType: String }
+ EDIXLSLinkColumn StockingPointID { ValueType: String }
+ ]
+ }
+ }
+}
diff --git a/_Main/BL/EDI/Broker_GlobalOTDTable_CAR_Export.qbl b/_Main/BL/EDI/Broker_GlobalOTDTable_CAR_Export.qbl
new file mode 100644
index 0000000..571fce9
--- /dev/null
+++ b/_Main/BL/EDI/Broker_GlobalOTDTable_CAR_Export.qbl
@@ -0,0 +1,65 @@
+Quintiq file version 2.0
+#parent: #root
+EDIBroker GlobalOTDTable_CAR_Export
+{
+ MDSDefinition: GlobalOTDTable
+ TimeZone: 'ACT'
+ UseOSTimeZone: false
+ EDIModelLink.Source Source13
+ {
+ EDIMLTable CapacityAllocationResults
+ {
+ TargetType: CapacityAllocationResults
+ EDIMLColumn Date { Attribute: Date ValueType: Date }
+ EDIMLColumn Description { Attribute: Description ValueType: String }
+ EDIMLColumn Division { Attribute: Division ValueType: String }
+ EDIMLColumn ID { Attribute: ID ValueType: String }
+ EDIMLColumn ManufacturedDate { Attribute: ManufacturedDate ValueType: Date }
+ EDIMLColumn ModuleBase { Attribute: ModuleBase ValueType: String }
+ EDIMLColumn ModuleMaterialCode { Attribute: ModuleMaterialCode ValueType: String }
+ EDIMLColumn ModuleMeasurementUnit { Attribute: ModuleMeasurementUnit ValueType: String }
+ EDIMLColumn NumberOfModules { Attribute: NumberOfModules ValueType: Real }
+ EDIMLColumn NumberOfPanels { Attribute: NumberOfPanels ValueType: Real }
+ EDIMLColumn PanelBase { Attribute: PanelBase ValueType: String }
+ EDIMLColumn PanelMaterialCode { Attribute: PanelMaterialCode ValueType: String }
+ EDIMLColumn PanelMeasurementUnit { Attribute: PanelMeasurementUnit ValueType: String }
+ EDIMLColumn ProductID { Attribute: ProductID ValueType: String }
+ EDIMLColumn RequirementDate { Attribute: RequirementDate ValueType: Date }
+ EDIMLColumn StockingPointID { Attribute: StockingPointID ValueType: String }
+ EDIMLColumn UserQuantity { Attribute: UserQuantity ValueType: Real }
+ EDIMLColumn VersionNumber { Attribute: VersionNumber ValueType: String }
+ }
+ }
+ EDITransformation.Transformation Transformation13
+ {
+ EDITableTransformation
+ {
+ InputTable: CapacityAllocationResults
+ OutputTable: CapacityAllocationResults
+ EDIColumnMatch { InputColumn: Date OutputColumn: Date }
+ EDIColumnMatch { InputColumn: Description OutputColumn: Description }
+ EDIColumnMatch { InputColumn: ID OutputColumn: ID }
+ EDIColumnMatch { InputColumn: ManufacturedDate OutputColumn: ManufacturedDate }
+ EDIColumnMatch { InputColumn: ProductID OutputColumn: ProductID }
+ EDIColumnMatch { InputColumn: StockingPointID OutputColumn: StockingPointID }
+ EDIColumnMatch { InputColumn: UserQuantity OutputColumn: UserQuantity }
+ }
+ }
+ EDIXLSLink.Destination Destination14
+ {
+ FileName: 'Destination14'
+ EDIXLSLinkTable CapacityAllocationResults
+ {
+ Columns:
+ [
+ EDIXLSLinkColumn Date { ValueType: Date }
+ EDIXLSLinkColumn Description { ValueType: String }
+ EDIXLSLinkColumn ID { ValueType: String }
+ EDIXLSLinkColumn ProductID { ValueType: String }
+ EDIXLSLinkColumn StockingPointID { ValueType: String }
+ EDIXLSLinkColumn UserQuantity { ValueType: Real }
+ EDIXLSLinkColumn ManufacturedDate { ValueType: Date }
+ ]
+ }
+ }
+}
diff --git a/_Main/BL/Relations/Relation_CapacityAllocationResultsRuleConfiguration_CapacityAllocationResult.qbl b/_Main/BL/Relations/Relation_CapacityAllocationResultsRuleConfiguration_CapacityAllocationResult.qbl
new file mode 100644
index 0000000..744cd1a
--- /dev/null
+++ b/_Main/BL/Relations/Relation_CapacityAllocationResultsRuleConfiguration_CapacityAllocationResult.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation CapacityAllocationResultsRuleConfiguration_CapacityAllocationResults_CapacityAllocationResults_CapacityAllocationResultsRuleConfiguration
+{
+ #keys: '1[414702.0.387791788]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide CapacityAllocationResults
+ {
+ #keys: '3[414702.0.387791790][414702.0.387791789][414702.0.387791791]'
+ Cardinality: '1toN'
+ ObjectDefinition: CapacityAllocationResultsRuleConfiguration
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide CapacityAllocationResultsRuleConfiguration
+ {
+ #keys: '3[414702.0.387791793][414702.0.387791792][414702.0.387791794]'
+ Cardinality: '0to1'
+ ObjectDefinition: CapacityAllocationResults
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Type_CapacityAllocationResults/Attribute_Date.qbl b/_Main/BL/Type_CapacityAllocationResults/Attribute_Date.qbl
new file mode 100644
index 0000000..a158e2b
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResults/Attribute_Date.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Date
+{
+ #keys: '3[414702.0.388471426][414702.0.388471425][414702.0.388471427]'
+ ValueType: Date
+}
diff --git a/_Main/BL/Type_CapacityAllocationResults/Attribute_Description.qbl b/_Main/BL/Type_CapacityAllocationResults/Attribute_Description.qbl
new file mode 100644
index 0000000..4d7f093
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResults/Attribute_Description.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Description
+{
+ #keys: '3[414702.0.388471436][414702.0.388471435][414702.0.388471437]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_CapacityAllocationResults/Attribute_ID.qbl b/_Main/BL/Type_CapacityAllocationResults/Attribute_ID.qbl
new file mode 100644
index 0000000..3a52d76
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResults/Attribute_ID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ID
+{
+ #keys: '3[414702.0.388471446][414702.0.388471445][414702.0.388471447]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_CapacityAllocationResults/Attribute_ManufacturedDate.qbl b/_Main/BL/Type_CapacityAllocationResults/Attribute_ManufacturedDate.qbl
new file mode 100644
index 0000000..15ee01f
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResults/Attribute_ManufacturedDate.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ManufacturedDate
+{
+ #keys: '3[414702.0.388471486][414702.0.388471485][414702.0.388471487]'
+ ValueType: Date
+}
diff --git a/_Main/BL/Type_CapacityAllocationResults/Attribute_ProductID.qbl b/_Main/BL/Type_CapacityAllocationResults/Attribute_ProductID.qbl
new file mode 100644
index 0000000..ca7c6e4
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResults/Attribute_ProductID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductID
+{
+ #keys: '3[414702.0.388471456][414702.0.388471455][414702.0.388471457]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_CapacityAllocationResults/Attribute_StockingPointID.qbl b/_Main/BL/Type_CapacityAllocationResults/Attribute_StockingPointID.qbl
new file mode 100644
index 0000000..2a28f0d
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResults/Attribute_StockingPointID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StockingPointID
+{
+ #keys: '3[414702.0.388471466][414702.0.388471465][414702.0.388471467]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_CapacityAllocationResults/Attribute_UserQuantity.qbl b/_Main/BL/Type_CapacityAllocationResults/Attribute_UserQuantity.qbl
new file mode 100644
index 0000000..9c3d31c
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResults/Attribute_UserQuantity.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute UserQuantity
+{
+ #keys: '3[414702.0.388471476][414702.0.388471475][414702.0.388471477]'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_CapacityAllocationResults/DeclarativeReferenceRelation_CalcCapacityAllocationResultsRuleConfiguration.qbl b/_Main/BL/Type_CapacityAllocationResults/DeclarativeReferenceRelation_CalcCapacityAllocationResultsRuleConfiguration.qbl
new file mode 100644
index 0000000..59c9af0
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResults/DeclarativeReferenceRelation_CalcCapacityAllocationResultsRuleConfiguration.qbl
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: #root
+DeclarativeReferenceRelation CalcCapacityAllocationResultsRuleConfiguration
+{
+ #keys: '1[414702.0.388304510]'
+ Expression:
+ [*
+ targetCapacityAllocationResultsRuleConfiguration := select( this.GlobalOTDTable(), CapacityAllocationResultsRuleConfiguration, tempCARRC,
+ tempCARRC.ModuleMaterialCode() = this.ModuleMaterialCode() and
+ tempCARRC.PanelMaterialCode() = this.PanelMaterialCode() );
+
+ return targetCapacityAllocationResultsRuleConfiguration;
+ *]
+ Relation: CapacityAllocationResultsRuleConfiguration
+}
diff --git a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_CreateDate.qbl b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_CreateDate.qbl
index 9bea872..119198c 100644
--- a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_CreateDate.qbl
+++ b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_CreateDate.qbl
@@ -2,7 +2,8 @@
#parent: #root
StaticMethod CreateDate (
GlobalOTDTable globalOTDTable,
- MacroPlan macroPlan
+ MacroPlan macroPlan,
+ Scenario scenario
)
{
TextBody:
@@ -17,12 +18,16 @@
}
traverse ( finaleProductInStockingPoint_MPs, Elements, fpispmp ) {
- capacityAllocationResultsRuleConfiguration := select( globalOTDTable, CapacityAllocationResultsRuleConfiguration, tempCARRC, tempCARRC.ModuleMaterialCode() = fpispmp.ProductID() and tempCARRC.StockingPointID() = fpispmp.StockingPointID() );
+ capacityAllocationResultsRuleConfigurations := selectset( globalOTDTable, CapacityAllocationResultsRuleConfiguration, tempCARRC, tempCARRC.ModuleMaterialCode() = fpispmp.ProductID() and tempCARRC.StockingPointID() = fpispmp.StockingPointID() );
info( "鐢熶骇鐨勪骇鍝侊細", fpispmp.ProductID(), "------浜у搧鍦ㄥ簱瀛樼偣-------锛�", fpispmp.StockingPointID() );
traverse ( period_MPS, Elements, pmp ) {
// CapacityAllocationResults::IterativeGeneration( globalOTDTable, pisp, 1, null( NewSupply ), -1.0, pmp.StartDate() ); 鑰佺増
- CapacityAllocationResults::IterativeGeneration2( fpispmp, pmp.StartDate(), capacityAllocationResultsRuleConfiguration, 0, 0.0 );
+ CapacityAllocationResults::IterativeGeneration2( globalOTDTable, fpispmp, pmp.StartDate(), capacityAllocationResultsRuleConfigurations, 0, null( NewSupply ), 0.0 );
}
}
+
+ traverse ( globalOTDTable, CapacityAllocationResults, car ) {
+ car.VersionNumber( scenario.Name() );
+ }
*]
}
diff --git a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_Export.qbl b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_Export.qbl
new file mode 100644
index 0000000..14045dd
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_Export.qbl
@@ -0,0 +1,13 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Export (
+ GlobalOTDTable globalOTDTable
+) as BinaryValue
+{
+ TextBody:
+ [*
+ binaryData := globalOTDTable.GlobalOTDTable_CAR_Export().ExecuteToXLS( true );
+
+ return binaryData.AsBinaryValue();
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration2.qbl b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration2.qbl
index 37b0364..3f70ca5 100644
--- a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration2.qbl
+++ b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration2.qbl
@@ -1,37 +1,93 @@
Quintiq file version 2.0
#parent: #root
StaticMethod IterativeGeneration2 (
+ GlobalOTDTable globalOTDTable,
ProductInStockingPoint_MP pisp,
Date targetDate,
- CapacityAllocationResultsRuleConfiguration carrcs,
+ CapacityAllocationResultsRuleConfigurations carrcs,
Number numberOfLayers,
- Real firstLevelSupply
+ NewSupply firstLevelSupply,
+ Real currentLayerDependentDemandQuantity
)
{
TextBody:
[*
numberOfLayers++;
- info( "灞傛暟锛�", numberOfLayers, " 鐩爣鏃堕棿锛�", targetDate.Format( "Y-M2-D2" ) );
-
+ info( "鐩爣鏃堕棿锛�", targetDate.Format( "Y-M2-D2" ) );
+ info( pisp.Name() );
traverse ( pisp, ProductInStockingPointInPeriodPlanning.astype( ProductInStockingPointInPeriodPlanningLeaf ), pispippl, pispippl.Start().Date() = targetDate ) {
traverse ( pispippl, NewSupply, ns, ns.Quantity() > 0 ) {
- info( "褰撳墠渚涘簲鐨刾isp锛�", ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Name() );
if ( numberOfLayers = 1 ) {
- firstLevelSupply := ns.Quantity();
+ firstLevelSupply := ns;
}
- if ( guard( ns.PeriodTask_MP().astype( PeriodTaskOperation ).DependentDemand( relsize ) > 0, false ) ) {
- traverse ( ns, PeriodTask_MP.astype( PeriodTaskOperation ).DependentDemand, dd ) {
- CapacityAllocationResults::IterativeGeneration2( dd.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP(),
+ ontype( ns.PeriodTask_MP() ) {
+ PeriodTaskOperation as pto : {
+ info( "Operation鍛ㄦ湡浠诲姟..." );
+ traverse ( ns, PeriodTask_MP.astype( PeriodTaskOperation ).DependentDemand, dd ) {
+ currentLayerDependentDemandQuantity := currentLayerDependentDemandQuantity *
+ ns.ProcessOutput().astype( OperationOutput ).Quantity() *
+ dd.ProcessInput().astype( OperationInput ).Quantity();
+ info( "灞傛暟锛�", numberOfLayers, " 褰撳墠渚涘簲鐨刾isp锛�", ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Name(), " 鎬讳緵搴斿�硷細", ns.Quantity(), " 闇�瑕佷緵搴斿�硷細", currentLayerDependentDemandQuantity,
+ " 褰撳墠闇�姹俻isp锛�", dd.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Name(), " 闇�姹傚�硷細", currentLayerDependentDemandQuantity );
+ info( "-----------------------------------------------------------------------------------------------------------------" );
+ CapacityAllocationResults::IterativeGeneration2( globalOTDTable,
+ dd.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP(),
+ targetDate,
+ carrcs,
+ numberOfLayers,
+ firstLevelSupply,
+ currentLayerDependentDemandQuantity
+ );
+ }
+ carrc := select( carrcs, Elements, carrc, carrc.PanelMaterialCode() = ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID() );
+ if ( not isnull( carrc ) ) {
+ info( "鎵惧埌闈㈡澘鐗╂枡..." );
+ globalOTDTable.CapacityAllocationResults( relnew,
+ PanelBase := pto.Operation().UnitID(),
+ PanelMaterialCode := ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID(),
+ NumberOfPanels := currentLayerDependentDemandQuantity,
+ PanelMeasurementUnit := ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().UnitOfMeasureName(),
+ ModuleMaterialCode := firstLevelSupply.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID(),
+ NumberOfModules := firstLevelSupply.Quantity(),
+ ModuleMeasurementUnit := firstLevelSupply.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().UnitOfMeasureName(),
+ ModuleBase := guard( firstLevelSupply.PeriodTask_MP().astype( PeriodTaskOperation ).Operation().UnitID(), "杞﹂亾杩愯緭" ),
+ Division := carrc.Division(),
+ RequirementDate := ns.Start().Date(),
+ Date := ns.Start().Date(),
+ Description := "",
+ ID := OS::GenerateGUIDAsString(),
+ ProductID := ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID(),
+ StockingPointID := "",
+ UserQuantity := currentLayerDependentDemandQuantity,
+ ManufacturedDate := Date::MinDate()
+ );
+
+ }
+ info( "-----------------------------------------------------------------------------------------------------------------" );
+ }
+
+ PeriodTaskLaneLeg as ptll : {
+ targetDependentDemand := select( ptll, DependentDemand, dd, dd.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID() = ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID() );
+ currentLayerDependentDemandQuantity := ifexpr( numberOfLayers = 1, targetDependentDemand.Quantity(), currentLayerDependentDemandQuantity );
+ info( "灞傛暟锛�", numberOfLayers," 褰撳墠渚涘簲鐨刾isp锛�", ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Name(), " 鎬讳緵搴斿�硷細", ns.Quantity(), " 闇�瑕佷緵搴斿�硷細", currentLayerDependentDemandQuantity,
+ " 褰撳墠闇�姹俻isp锛�", targetDependentDemand.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Name(), " 闇�姹傚�硷細", currentLayerDependentDemandQuantity );
+ info( "LaneLeg鍛ㄦ湡浠诲姟..." );
+ info( "-----------------------------------------------------------------------------------------------------------------" );
+ CapacityAllocationResults::IterativeGeneration2( globalOTDTable,
+ targetDependentDemand.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP(),
targetDate,
carrcs,
numberOfLayers,
- firstLevelSupply
+ firstLevelSupply,
+ currentLayerDependentDemandQuantity
);
}
}
- firstLevelSupply := 0.0;
+ if ( numberOfLayers = 1 ) {
+ firstLevelSupply := null( NewSupply );
+ }
}
}
*]
diff --git a/_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/Attribute_ModuleMaterialCode.qbl b/_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/Attribute_ModuleMaterialCode.qbl
index 13e7a40..ca60799 100644
--- a/_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/Attribute_ModuleMaterialCode.qbl
+++ b/_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/Attribute_ModuleMaterialCode.qbl
@@ -4,5 +4,6 @@
{
#keys: '3[414702.0.374991437][414702.0.374991436][414702.0.374991438]'
Description: '妯$粍鐗╂枡缂栫爜'
+ IsReadOnly: true
ValueType: String
}
diff --git a/_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/Attribute_PanelMaterialCode.qbl b/_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/Attribute_PanelMaterialCode.qbl
index b2b1018..02037a2 100644
--- a/_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/Attribute_PanelMaterialCode.qbl
+++ b/_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/Attribute_PanelMaterialCode.qbl
@@ -4,5 +4,6 @@
{
#keys: '3[414702.0.374991427][414702.0.374991426][414702.0.374991428]'
Description: '闈㈡澘鐗╂枡缂栫爜'
+ IsReadOnly: true
ValueType: String
}
diff --git a/_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/Attribute_StockingPointID.qbl b/_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/Attribute_StockingPointID.qbl
index a0d789c..fb82a94 100644
--- a/_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/Attribute_StockingPointID.qbl
+++ b/_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/Attribute_StockingPointID.qbl
@@ -3,6 +3,7 @@
Attribute StockingPointID
{
#keys: '3[414702.0.375010145][414702.0.375010144][414702.0.375010146]'
- Description: '搴撳瓨鐐笽D'
+ Description: '妯$粍浜ф垚鍝佸簱瀛樼偣ID'
+ IsReadOnly: true
ValueType: String
}
diff --git a/_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/StaticMethod_Export.qbl b/_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/StaticMethod_Export.qbl
new file mode 100644
index 0000000..4397413
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/StaticMethod_Export.qbl
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Export (
+ GlobalOTDTable globalOTDTable
+) as BinaryValue
+{
+ TextBody:
+ [*
+ // hongjli Sep-25-2023 (created)
+ binaryValue := globalOTDTable.GlobalOTDTable_CARRC_Export().ExecuteToXLS( true ).AsBinaryValue();
+
+ return binaryValue;
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/StaticMethod_Import.qbl b/_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/StaticMethod_Import.qbl
new file mode 100644
index 0000000..a4eddc6
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/StaticMethod_Import.qbl
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Import (
+ GlobalOTDTable globalOTDTable,
+ String base64String
+)
+{
+ TextBody:
+ [*
+ binaryData := BinaryData::FromBase64EncodedString( base64String );
+
+ globalOTDTable.GlobalOTDTable_CARRC_Import().ExecuteFromXLS( &binaryData, true );
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/TypeIndex_CapacityAllocationResultsRuleConfigurationTypeIndex.qbl b/_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/TypeIndex_CapacityAllocationResultsRuleConfigurationTypeIndex.qbl
new file mode 100644
index 0000000..ea74562
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/TypeIndex_CapacityAllocationResultsRuleConfigurationTypeIndex.qbl
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: #root
+TypeIndex CapacityAllocationResultsRuleConfigurationTypeIndex
+{
+ Attributes:
+ [
+ TypeIndexAttribute
+ {
+ ModelElement: ModuleMaterialCode
+ }
+ TypeIndexAttribute
+ {
+ ModelElement: PanelMaterialCode
+ }
+ TypeIndexAttribute
+ {
+ ModelElement: StockingPointID
+ }
+ ]
+}
diff --git a/_Main/UI/MacroPlanner/Component_FormTestButtonCollection/Response_Button398_OnClick.def b/_Main/UI/MacroPlanner/Component_FormTestButtonCollection/Response_Button398_OnClick.def
index 7b1da32..e164af9 100644
--- a/_Main/UI/MacroPlanner/Component_FormTestButtonCollection/Response_Button398_OnClick.def
+++ b/_Main/UI/MacroPlanner/Component_FormTestButtonCollection/Response_Button398_OnClick.def
@@ -5,7 +5,7 @@
#keys: '[414702.0.340554926]'
Body:
[*
- CapacityAllocationResults::CreateDate( GlobalOTDTable, MacroPlan );
+ CapacityAllocationResults::CreateDate( GlobalOTDTable, MacroPlan, SelectionScenario.Data() );
*]
CanBindMultiple: false
DefinitionID: 'Responsedef_GUIButtonBase_OnClick'
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/Component_pnlContent.def
index 320176c..f885a86 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/Component_pnlContent.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/Component_pnlContent.def
@@ -23,7 +23,7 @@
Properties:
[
DataBinding: 'DataHolderDialogData.Data.ModuleMaterialCode'
- Label: '妯℃澘鐗╂枡缂栫爜'
+ Label: '妯℃澘浜ф垚鍝両D'
Taborder: 1
]
}
@@ -45,7 +45,7 @@
Properties:
[
DataBinding: 'DataHolderDialogData.Data.StockingPointID'
- Label: '搴撳瓨鐐笽D'
+ Label: '妯$粍浜ф垚鍝佸簱瀛樼偣ID'
Taborder: 3
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/Response_pnlActions_btnOk_OnClick.def
index d088a4b..336e9a8 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/Response_pnlActions_btnOk_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/Response_pnlActions_btnOk_OnClick.def
@@ -19,10 +19,11 @@
StockingPointID := efStockingPointID.Text()
);
} else {
- data.PanelMaterialCode( efPanelMaterialCode.Text() );
- data.ModuleMaterialCode( efModuleMaterialCode.Text() );
- data.Division( efDivision.Text() );
- data.StockingPointID( efStockingPointID.Text() );
+ DataHolderDialogData.Data().PanelMaterialCode( efPanelMaterialCode.Text() );
+ DataHolderDialogData.Data().ModuleMaterialCode( efModuleMaterialCode.Text() );
+ DataHolderDialogData.Data().Division( efDivision.Text() );
+ DataHolderDialogData.Data().StockingPointID( efStockingPointID.Text() );
+ DataHolderDialogData.Data().Commit();
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_ListCapacityAllocationResults.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_ListCapacityAllocationResults.def
index c07b922..27d0374 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_ListCapacityAllocationResults.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_ListCapacityAllocationResults.def
@@ -1,26 +1,26 @@
Quintiq file version 2.0
Component ListCapacityAllocationResults
{
- #keys: '[414702.0.338762075]'
+ #keys: '[414702.0.390053833]'
BaseType: 'WebList'
Children:
[
Component DataExtractorCapacityAllocationResults
{
- #keys: '[414702.0.338762076]'
+ #keys: '[414702.0.390053834]'
BaseType: 'WebDataExtractor'
Properties:
[
- DataType: 'GlobalOTDTable'
- Source: 'GlobalOTDTable'
+ DataType: 'structured[CapacityAllocationResultsRuleConfiguration]'
+ Source: 'FormCapacityAllocationResultsRuleConfiguration.DataHolderSelectCapacityAllocationResultsRuleConfiguration'
Taborder: 0
- Transformation: 'CapacityAllocationResults'
+ Transformation: 'Elements.CapacityAllocationResults'
]
}
#child: listActionBarPageCapacityAllocationResults
Component DataSetLevelCapacityAllocationResults
{
- #keys: '[414702.0.338762081]'
+ #keys: '[414702.0.390053839]'
BaseType: 'WebDataSetLevel'
Children:
[
@@ -28,7 +28,7 @@
]
Properties:
[
- Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"VersionNumber","title":"VersionNumber","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"VersionNumber"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PanelMeasurementUnit","title":"PanelMeasurementUnit","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PanelMeasurementUnit"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PanelMaterialCode","title":"PanelMaterialCode","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PanelMaterialCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"NumberOfPanels","title":"NumberOfPanels","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"NumberOfPanels"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PanelMeasurementUnit","title":"PanelMeasurementUnit","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PanelMeasurementUnit"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ModuleMaterialCode","title":"ModuleMaterialCode","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ModuleMaterialCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"NumberOfModules","title":"NumberOfModules","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"NumberOfModules"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ModuleMeasurementUnit","title":"ModuleMeasurementUnit","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ModuleMeasurementUnit"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ModuleMeasurementUnit","title":"ModuleMeasurementUnit","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ModuleMeasurementUnit"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Division","title":"Division","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Division"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"RequirementDate","title":"RequirementDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"RequirementDate"}}]'
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Date","title":"Date","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Date"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Description","title":"Description","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Description"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ID","title":"ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"ProductID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"StockingPointID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UserQuantity","title":"UserQuantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UserQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ManufacturedDate","title":"ManufacturedDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ManufacturedDate"}}]'
ContextMenu: 'listContextMenuCapacityAllocationResults'
Taborder: 2
]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_PanelCapacityAllocationResults.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_PanelCapacityAllocationResults.def
new file mode 100644
index 0000000..a916ec0
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_PanelCapacityAllocationResults.def
@@ -0,0 +1,37 @@
+Quintiq file version 2.0
+Component PanelCapacityAllocationResults
+{
+ #keys: '[414702.0.391687385]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component ButtonGenerateCapacityAllocationResults id:ButtonGenerateCapacityAllocationResults_570
+ {
+ #keys: '[414702.0.391717497]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'PROCESS'
+ Label: '鐢熸垚鏁版嵁'
+ Taborder: 0
+ ]
+ }
+ Component Export id:Export_398
+ {
+ #keys: '[414702.0.392048461]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'EXPORT1'
+ Label: '瀵煎嚭'
+ Taborder: 1
+ ]
+ }
+ ]
+ Properties:
+ [
+ FixedSize: true
+ Orientation: 'horizontal'
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_listActionBarPageCapacityAllocationResults.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_listActionBarPageCapacityAllocationResults.def
index 5384f4a..81f7ddb 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_listActionBarPageCapacityAllocationResults.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_listActionBarPageCapacityAllocationResults.def
@@ -1,7 +1,7 @@
Quintiq file version 2.0
Component listActionBarPageCapacityAllocationResults
{
- #keys: '[414702.0.338762078]'
+ #keys: '[414702.0.390053836]'
BaseType: 'listActionBarPage'
Properties:
[
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_listContextMenuCapacityAllocationResults.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_listContextMenuCapacityAllocationResults.def
index 62d4067..b7e995a 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_listContextMenuCapacityAllocationResults.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_listContextMenuCapacityAllocationResults.def
@@ -1,7 +1,7 @@
Quintiq file version 2.0
Component listContextMenuCapacityAllocationResults
{
- #keys: '[414702.0.338762083]'
+ #keys: '[414702.0.390053841]'
BaseType: 'listContextMenu'
Properties:
[
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Response_ButtonGenerateCapacityAllocationResults_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Response_ButtonGenerateCapacityAllocationResults_OnClick.def
deleted file mode 100644
index 2d97d02..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Response_ButtonGenerateCapacityAllocationResults_OnClick.def
+++ /dev/null
@@ -1,16 +0,0 @@
-Quintiq file version 2.0
-#parent: ButtonGenerateCapacityAllocationResults
-Response OnClick () id:Response_FormCapacityAllocationResults_ButtonGenerateCapacityAllocationResults_OnClick
-{
- #keys: '[414702.0.340111671]'
- CanBindMultiple: false
- DefinitionID: 'Responsedef_WebButton_OnClick'
- QuillAction
- {
- Body:
- [*
- CapacityAllocationResults::CreateDate( GlobalOTDTable, MacroPlan );
- *]
- GroupServerCalls: false
- }
-}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Response_PanelCapacityAllocationResults_ButtonGenerateCapacityAllocationR\04339.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Response_PanelCapacityAllocationResults_ButtonGenerateCapacityAllocationR\04339.def"
new file mode 100644
index 0000000..6a4fd16
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Response_PanelCapacityAllocationResults_ButtonGenerateCapacityAllocationR\04339.def"
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: PanelCapacityAllocationResults/ButtonGenerateCapacityAllocationResults_570
+Response OnClick () id:Response_FormCapacityAllocationResults_ButtonGenerateCapacityAllocationResults_OnClick_39
+{
+ #keys: '[414702.0.391717496]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ CapacityAllocationResults::CreateDate( GlobalOTDTable, MacroPlan, DataHolderActiveScenario.Data() );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Response_PanelCapacityAllocationResults_Export_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Response_PanelCapacityAllocationResults_Export_OnClick.def
new file mode 100644
index 0000000..4428575
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Response_PanelCapacityAllocationResults_Export_OnClick.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: PanelCapacityAllocationResults/Export_398
+Response OnClick () id:Response_PanelCapacityAllocationResults_Export_OnClick
+{
+ #keys: '[414702.0.391791234]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ Application.Download( "浜ц兘鍒嗛厤缁撴灉.xlsx", CapacityAllocationResults::Export( GlobalOTDTable ).AsBinaryData() );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/_ROOT_Component_FormCapacityAllocationResults.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/_ROOT_Component_FormCapacityAllocationResults.def
index 432fdfa..983e0ed 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/_ROOT_Component_FormCapacityAllocationResults.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/_ROOT_Component_FormCapacityAllocationResults.def
@@ -8,17 +8,7 @@
Children:
[
#child: ListCapacityAllocationResults
- Component ButtonGenerateCapacityAllocationResults
- {
- #keys: '[414702.0.340677556]'
- BaseType: 'WebButton'
- Properties:
- [
- Image: 'PROCESS'
- Label: '鐢熸垚鏁版嵁'
- Taborder: 0
- ]
- }
+ #child: PanelCapacityAllocationResults
]
Properties:
[
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Component_ListCapacityAllocationResultsRuleConfiguration.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Component_ListCapacityAllocationResultsRuleConfiguration.def
index 98c0a3a..add7c86 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Component_ListCapacityAllocationResultsRuleConfiguration.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Component_ListCapacityAllocationResultsRuleConfiguration.def
@@ -36,7 +36,7 @@
]
Properties:
[
- Taborder: 0
+ Taborder: 1
]
ResponseDefinitions:
[
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Component_PanelImportAndExport.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Component_PanelImportAndExport.def
new file mode 100644
index 0000000..367ca52
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Component_PanelImportAndExport.def
@@ -0,0 +1,37 @@
+Quintiq file version 2.0
+Component PanelImportAndExport
+{
+ #keys: '[414702.0.391512140]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component Import
+ {
+ #keys: '[414702.0.390081531]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'IMPORT1'
+ Label: '瀵煎叆'
+ Taborder: 0
+ ]
+ }
+ Component Export
+ {
+ #keys: '[414702.0.391512453]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'EXPORT1'
+ Label: '瀵煎嚭'
+ Taborder: 1
+ ]
+ }
+ ]
+ Properties:
+ [
+ FixedSize: true
+ Orientation: 'horizontal'
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_DataHolderSelectCapacityAllocationResultsRuleConfiguration_OnDataCh.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_DataHolderSelectCapacityAllocationResultsRuleConfiguration_OnDataCh.def
new file mode 100644
index 0000000..1c99357
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_DataHolderSelectCapacityAllocationResultsRuleConfiguration_OnDataCh.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: DataHolderSelectCapacityAllocationResultsRuleConfiguration
+Response OnDataChanged () id:Response_FormCapacityAllocationResultsRuleConfiguration_DataHolderSelectCapacityAllocationResultsRuleConfiguration_OnDataChanged
+{
+ #keys: '[414702.0.391379706]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebComponent_OnDataChanged'
+ QuillAction
+ {
+ Body:
+ [*
+ traverse ( this.Data(), Elements, e ) {
+ info( "闈㈡澘鐗╂枡ID锛�", e.PanelMaterialCode() );
+ }
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_PanelImportAndExport_Export_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_PanelImportAndExport_Export_OnClick.def
new file mode 100644
index 0000000..602baba
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_PanelImportAndExport_Export_OnClick.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: PanelImportAndExport/Export
+Response OnClick () id:Response_PanelImportAndExport_Export_OnClick
+{
+ #keys: '[414702.0.391658465]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ Application.Download( "浜ц兘鍒嗛厤缁撴灉瑙勫垯.xlsx", CapacityAllocationResultsRuleConfiguration::Export( GlobalOTDTable ).AsBinaryData() );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_PanelImportAndExport_Import_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_PanelImportAndExport_Import_OnClick.def
new file mode 100644
index 0000000..3e90d91
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_PanelImportAndExport_Import_OnClick.def
@@ -0,0 +1,29 @@
+Quintiq file version 2.0
+#parent: PanelImportAndExport/Import
+Response OnClick () id:Response_PanelImportAndExport_Import_OnClick
+{
+ #keys: '[414702.0.391899822]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ try {
+ uploadJsonString := Application.GetFile();
+ if ( uploadJsonString <> "" ) {
+ uploadJson := JSON::Parse( uploadJsonString );
+
+ fileName := uploadJson.Get( "name" ).GetString();
+ base64String := uploadJson.Get( "data" ).GetString();
+ CapacityAllocationResultsRuleConfiguration::Import( GlobalOTDTable, base64String );
+
+ WebMessageBox::Success( "涓婁紶鎴愬姛", true );
+ }
+ } onerror {
+ WebMessageBox::Error( e.GeneralInformation(), true );
+ }
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/_ROOT_Component_FormCapacityAllocationResultsRuleConfiguration.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/_ROOT_Component_FormCapacityAllocationResultsRuleConfiguration.def
index b4952be..436ef69 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/_ROOT_Component_FormCapacityAllocationResultsRuleConfiguration.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/_ROOT_Component_FormCapacityAllocationResultsRuleConfiguration.def
@@ -8,6 +8,32 @@
Children:
[
#child: ListCapacityAllocationResultsRuleConfiguration
+ Component DataHolderSelectCapacityAllocationResultsRuleConfiguration
+ {
+ #keys: '[414702.0.390054479]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'structured[CapacityAllocationResultsRuleConfiguration]*'
+ Children:
+ [
+ Component DataExtractorSelectCapacityAllocationResultsRuleConfiguration
+ {
+ #keys: '[414702.0.391186862]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'CapacityAllocationResultsRuleConfiguration'
+ ExtractionMode: 'Selected'
+ Source: 'ListCapacityAllocationResultsRuleConfiguration'
+ Taborder: 0
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 2
+ ]
+ }
+ #child: PanelImportAndExport
]
Properties:
[
--
Gitblit v1.9.3