From 1d8b8f8f291ad75cbe60fc3652c7954e60244136 Mon Sep 17 00:00:00 2001
From: rislai <risheng.lai@capgemini.com>
Date: 星期五, 14 六月 2024 09:47:01 +0800
Subject: [PATCH] Merge branch 'dev' of http://47.101.211.7:10101/r/VWED into dev
---
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_applicationFixedPageActionBarPageDef.def | 2
_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Component_listActionBarPageEntities#1.def | 10
_Main/BL/InfoMessages.qbl | 4
_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Component_listContextMenu902#1.def | 35 +++
_Main/BL/Type_Routing/StaticMethod_ValidateThermalTrialRatio.qbl | 25 ++
_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Response_ListEntity_MenuSelectAll_OnClick.def | 17 +
_Main/BL/Type_OperationBOM/_ROOT_Type_OperationBOM.qbl | 6
_Main/BL/Type_OperationBOM/Attribute_OldStockingPointID.qbl | 8
_Main/BL/Type_Routing/StaticMethod_ThermalTrialRatio.qbl | 53 ++++
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Component_pnlMaxCapacity.def | 1
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Method_OnOK.def | 15 -
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_abpAlgorithmPostProcessing.def | 15 +
_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Response_pnlActions_btnOk_OnClick.def | 16 +
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def | 1
_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Component_ListEntity.def | 123 +++++++++++
_Main/BL/Type_Routing/_ROOT_Type_Routing.qbl | 6
_Main/BL/Type_Entity/_ROOT_Type_Entity.qbl | 6
_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Component_pnlContent.def | 15 +
_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Response_ListEntity_OnDrawElement.def | 18 +
_Main/BL/Type_Entity/Attribute_IsToFill.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/_ROOT_Component_DialogWholeShiftSystem.def | 24 ++
_Main/BL/Type_Operation/_ROOT_Type_Operation.qbl | 6
_Main/BL/Type_Operation/Method_Copy.qbl | 95 ++++++++
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPageScenarioSelection.def | 2
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_abgWholeShiftSystem#633.def | 25 ++
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Response_pnlActions_btnOk_OnClick.def | 7
_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Response_pnlActions_btnCancel_OnClick.def | 15 +
_Main/BL/Type_Entity/Method_IsUnit.qbl | 6
_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Component_pnlActions.def | 40 +++
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_abgWholeShiftSystem_bWholeShiftSystem_OnClick.def | 18 +
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Component_pnlRatio.def | 1
31 files changed, 606 insertions(+), 16 deletions(-)
diff --git a/_Main/BL/InfoMessages.qbl b/_Main/BL/InfoMessages.qbl
index e9d598e..ee5f15b 100644
--- a/_Main/BL/InfoMessages.qbl
+++ b/_Main/BL/InfoMessages.qbl
@@ -106,4 +106,8 @@
{
DefaultText: 'The Event type of binding Event exists.'
}
+ InfoMessage MP_Routing_RequiredField
+ {
+ DefaultText: 'All fields Required This parameter is mandatory.'
+ }
}
diff --git a/_Main/BL/Type_Entity/Attribute_IsToFill.qbl b/_Main/BL/Type_Entity/Attribute_IsToFill.qbl
new file mode 100644
index 0000000..f28e93b
--- /dev/null
+++ b/_Main/BL/Type_Entity/Attribute_IsToFill.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute IsToFill
+{
+ #keys: '3[414702.2.1844249287][414702.2.1844249286][414702.2.1844249288]'
+ ValueType: Boolean
+}
diff --git a/_Main/BL/Type_Entity/Method_IsUnit.qbl b/_Main/BL/Type_Entity/Method_IsUnit.qbl
new file mode 100644
index 0000000..2fbf7aa
--- /dev/null
+++ b/_Main/BL/Type_Entity/Method_IsUnit.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+Method IsUnit () declarative remote as Boolean
+{
+ TextBody: 'return guard( this.istype( Unit ), false );'
+}
diff --git a/_Main/BL/Type_Entity/_ROOT_Type_Entity.qbl b/_Main/BL/Type_Entity/_ROOT_Type_Entity.qbl
new file mode 100644
index 0000000..b253c15
--- /dev/null
+++ b/_Main/BL/Type_Entity/_ROOT_Type_Entity.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type Entity #extension
+{
+}
diff --git a/_Main/BL/Type_Operation/Method_Copy.qbl b/_Main/BL/Type_Operation/Method_Copy.qbl
new file mode 100644
index 0000000..738acfd
--- /dev/null
+++ b/_Main/BL/Type_Operation/Method_Copy.qbl
@@ -0,0 +1,95 @@
+Quintiq file version 2.0
+#parent: #root
+Method Copy (
+ RoutingStep newroutingstep,
+ StockingPoint_MP stockingpoint,
+ String id,
+ Unit unit
+) as Operation
+{
+ Description: 'Duplicate the entire operation (including input product groups + input output products + costs)'
+ TextBody:
+ [*
+ idholder := this.MacroPlan().IDHolder();
+ //unit := this.Unit();
+
+ // Create new Operation with information of this Operation
+ newoperation := Operation::Create( id,
+ unit,
+ id,
+ newroutingstep,
+ this.LeadTime(),
+ this.StandardDeviationLeadTime(),
+ this.Throughput(),
+ this.HasUserLotSize(),
+ this.UserMinimumQuantity(),
+ this.HasUserMaximumQuantity(),
+ this.UserMaximumQuantity(),
+ this.UserLotSize(),
+ this.CO2Emission(),
+ false,
+ false );
+
+ // Copy OperationCosts of this Operation to the new Operation
+ traverse( this, OperationCost, operationcost )
+ {
+ // Select UnitAccount
+ accountassignment := select( unit, UnitAccount, ua,
+ ua.Account_MP() = operationcost.AccountAssignment().Account_MP()
+ and ua.CostDriver() = operationcost.AccountAssignment().CostDriver() );
+
+ // Create OperationCost for the new Operation if UnitAccount is found
+ if( not isnull( accountassignment ) )
+ {
+ OperationCost::Create( idholder.GetOperationCostID(),
+ newoperation,
+ accountassignment.Account_MP(),
+ accountassignment.CostDriver(),
+ operationcost.Start(),
+ operationcost.TimeUnit(),
+ operationcost.LengthOfTime(),
+ operationcost.Cost(),
+ false );
+ }
+ }
+
+ // Copy OperationBOM from this Operation to the new Operation
+ traverse( this, OperationBOM, ob, not ob.IsInput() )
+ {
+ pisp := ob.PISPNodeInRouting().ProductInStockingPoint_MP();
+ newpisp := pisp.Product_MP().AddToStockingPoint( stockingpoint );
+ // info( 'last----', ob.IsInput(), ',', ob.OperationID(), ',', ob.ProductID(), ',', ob.StockingPointID(), ',', pisp.ProductID(), ',', pisp.StockingPointID() );
+ OperationBOM::Create( newoperation, newpisp,
+ not ob.IsInput(),
+ ob.InputGroupID(),
+ ob.HasUserInputQuantity(),
+ ob.Quantity(),
+ ob.MinQuantityInGroup(),
+ ob.MaxQuantityInGroup(),
+ ob.IsExcluded(),
+ false );
+ // output.PISPNodeInRouting().Update( pisp.Product_MP(), stockingpoint );
+ // info( 'new output----', output.IsInput(), ',', output.OperationID(), ',', output.ProductID(), ',', output.StockingPointID() );
+ OperationBOM::Create( newoperation, ob.PISPNodeInRouting().ProductInStockingPoint_MP(),
+ ob.IsInput(),
+ ob.InputGroupID(),
+ ob.HasUserInputQuantity(),
+ ob.Quantity(),
+ ob.MinQuantityInGroup(),
+ ob.MaxQuantityInGroup(),
+ ob.IsExcluded(),
+ false );
+ // input.UpdateTypeIndex( input.OperationID(), input.ProductID(), ob.OldStockingPointID(), false );
+ // info( 'new input----', input.IsInput(), ',', input.OperationID(), ',', input.ProductID(), ',', input.StockingPointID() );
+ }
+
+ // Copy OpearationInputGroup of this Operation to the new Operation
+ traverse( this, OperationInputGroup, inputgroup )
+ {
+ inputgroup.Copy( newoperation );
+ }
+
+
+ return newoperation;
+ *]
+}
diff --git a/_Main/BL/Type_Operation/_ROOT_Type_Operation.qbl b/_Main/BL/Type_Operation/_ROOT_Type_Operation.qbl
new file mode 100644
index 0000000..5bb7d3e
--- /dev/null
+++ b/_Main/BL/Type_Operation/_ROOT_Type_Operation.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+TypeSpecialization Operation #extension
+{
+}
diff --git a/_Main/BL/Type_OperationBOM/Attribute_OldStockingPointID.qbl b/_Main/BL/Type_OperationBOM/Attribute_OldStockingPointID.qbl
new file mode 100644
index 0000000..68365b3
--- /dev/null
+++ b/_Main/BL/Type_OperationBOM/Attribute_OldStockingPointID.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute OldStockingPointID
+{
+ #keys: '3[415136.0.782845096][415136.0.782845095][415136.0.782845097]'
+ Description: '娣诲姞鐑紡涔嬪墠鐨勫簱瀛樼偣'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_OperationBOM/_ROOT_Type_OperationBOM.qbl b/_Main/BL/Type_OperationBOM/_ROOT_Type_OperationBOM.qbl
new file mode 100644
index 0000000..76fbb55
--- /dev/null
+++ b/_Main/BL/Type_OperationBOM/_ROOT_Type_OperationBOM.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+TypeSpecialization OperationBOM #extension
+{
+}
diff --git a/_Main/BL/Type_Routing/StaticMethod_ThermalTrialRatio.qbl b/_Main/BL/Type_Routing/StaticMethod_ThermalTrialRatio.qbl
new file mode 100644
index 0000000..54256b2
--- /dev/null
+++ b/_Main/BL/Type_Routing/StaticMethod_ThermalTrialRatio.qbl
@@ -0,0 +1,53 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod ThermalTrialRatio (
+ Routing routing,
+ Number capacity,
+ Date start,
+ Date end,
+ Number ratio
+) as owning Routings
+{
+ Description: 'Check input is valid'
+ TextBody:
+ [*
+ // Adhi Feb-10-2016 (created)
+ thermaltrial := '鐑紡';
+ newroutings := construct( Routings );
+ unit := selectobject( routing.MacroPlan(), Unit, unit, unit.ID() = thermaltrial and unit.HasCapacityTypeQuantity() );
+ newrouting := routing.Copy();
+ routingstep := newrouting.LastStep();
+ //info( '------------------', routingstep.Tool(), ',', unit.ID() );
+ newroutingstep := RoutingStep::Create( newrouting, thermaltrial, routingstep.Tool(), false );
+
+ traverse( routingstep, Operation, operation ){
+ id := Operation::GetConcatenatedID( newrouting.ID(), newroutingstep.Name(), unit.ID() );
+ // info( '------------------', operation.Name(), routingstep.Name(), newroutingstep.Name() );
+ stockingpoint := StockingPoint_MP::FindCreateUpdate( routing.MacroPlan(), thermaltrial, unit, newrouting, true );
+
+ traverse( operation, OperationBOM, obom, not obom.IsInput() ){
+ pisp := obom.PISPNodeInRouting().ProductInStockingPoint_MP();
+ // info( 'before----', ',', obom.StockingPointID(), pisp.StockingPointID(), pisp.ProductID() );
+ obom.OldStockingPointID( obom.StockingPointID() );
+ newpisp := pisp.Product_MP().AddToStockingPoint( stockingpoint );
+ // obom.PISPNodeInRouting().ProductInStockingPoint_MP( relset, newpisp );
+ obom.PISPNodeInRouting().Update( newpisp.Product_MP(), newpisp.StockingPoint_MP() );
+ // afterpisp := obom.PISPNodeInRouting().ProductInStockingPoint_MP();
+ obom.UpdateTypeIndex( obom.OperationID(), obom.ProductID(), stockingpoint.ID(), obom.IsInput() );
+ // info( 'after----', obom.StockingPointID(), afterpisp.StockingPointID(), afterpisp.ProductID() );
+ }
+ // info( '------------------------------', operation.SourceOperationLink( relsize ) );
+
+ operation.Copy( newroutingstep, stockingpoint, id, unit );
+ }
+
+ traverse( newrouting, RoutingStep.Operation.SourceOperationLink, ol )
+ {
+ ol.SynchronizeAll( false );
+ }
+
+ newroutings.Add( routing );
+
+ return &newroutings;
+ *]
+}
diff --git a/_Main/BL/Type_Routing/StaticMethod_ValidateThermalTrialRatio.qbl b/_Main/BL/Type_Routing/StaticMethod_ValidateThermalTrialRatio.qbl
new file mode 100644
index 0000000..ad8089d
--- /dev/null
+++ b/_Main/BL/Type_Routing/StaticMethod_ValidateThermalTrialRatio.qbl
@@ -0,0 +1,25 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod ValidateThermalTrialRatio (
+ output String feedback_o,
+ Routing routing,
+ Number capacity,
+ Date start,
+ Date end,
+ Number ratio
+) declarative remote as Boolean
+{
+ Description: 'Check input is valid'
+ TextBody:
+ [*
+ // Adhi Feb-10-2016 (created)
+ feedback_o := '';
+
+ if( isnull( routing ) or capacity < 1 or start = Date::MinDate() or end = Date::MinDate() or ratio < 1 ){
+ feedback_o := Translations::MP_Routing_RequiredField();
+ }
+
+
+ return feedback_o = '';
+ *]
+}
diff --git a/_Main/BL/Type_Routing/_ROOT_Type_Routing.qbl b/_Main/BL/Type_Routing/_ROOT_Type_Routing.qbl
new file mode 100644
index 0000000..9aa44b8
--- /dev/null
+++ b/_Main/BL/Type_Routing/_ROOT_Type_Routing.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type Routing #extension
+{
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPageScenarioSelection.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPageScenarioSelection.def
index e918310..534bb0b 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPageScenarioSelection.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPageScenarioSelection.def
@@ -3,6 +3,6 @@
{
Properties:
[
- Taborder: 20
+ Taborder: 21
]
}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_abgWholeShiftSystem\043633.def" "b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_abgWholeShiftSystem\043633.def"
new file mode 100644
index 0000000..9197de0
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_abgWholeShiftSystem\043633.def"
@@ -0,0 +1,25 @@
+Quintiq file version 2.0
+Component abgWholeShiftSystem
+{
+ #keys: '[414702.2.1844443226]'
+ BaseType: 'WebActionBarGroup'
+ Children:
+ [
+ Component bWholeShiftSystem
+ {
+ #keys: '[414702.2.1843140838]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'WIND_ENGINE'
+ Label: 'Whole shift system'
+ Taborder: 0
+ ]
+ }
+ ]
+ Properties:
+ [
+ Category: 'Actions-1'
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_abpAlgorithmPostProcessing.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_abpAlgorithmPostProcessing.def
new file mode 100644
index 0000000..b737917
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_abpAlgorithmPostProcessing.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+Component abpAlgorithmPostProcessing
+{
+ #keys: '[414702.2.1844443225]'
+ BaseType: 'WebActionBarPage'
+ Children:
+ [
+ #child: abgWholeShiftSystem
+ ]
+ Properties:
+ [
+ Taborder: 20
+ Title: 'Algorithm Post-processing'
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_applicationFixedPageActionBarPageDef.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_applicationFixedPageActionBarPageDef.def
index 7c832f3..85ceb93 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_applicationFixedPageActionBarPageDef.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_applicationFixedPageActionBarPageDef.def
@@ -3,6 +3,6 @@
{
Properties:
[
- Taborder: 21
+ Taborder: 22
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_abgWholeShiftSystem_bWholeShiftSystem_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_abgWholeShiftSystem_bWholeShiftSystem_OnClick.def
new file mode 100644
index 0000000..520564f
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_abgWholeShiftSystem_bWholeShiftSystem_OnClick.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: abgWholeShiftSystem/bWholeShiftSystem
+Response OnClick () id:Response_MacroPlanner_abgWholeShiftSystem_bWholeShiftSystem_OnClick
+{
+ #keys: '[414702.2.1843141002]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ dlg := construct( DialogWholeShiftSystem );
+
+ ApplicationMacroPlanner.ShowFormModal( dlg );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def
index db6cb34..576fb69 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def
@@ -17,6 +17,7 @@
#child: ActionBarPageScenarioSelection
#child: applicationFixedPageActionBarPageDef
#child: applicationDevelopmentActionBarPageDef_1
+ #child: abpAlgorithmPostProcessing
]
}
Component dhBinaryDataPR id:dhBinaryDataPR_688
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Component_pnlMaxCapacity.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Component_pnlMaxCapacity.def
index 041a710..c4daa9b 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Component_pnlMaxCapacity.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Component_pnlMaxCapacity.def
@@ -12,6 +12,7 @@
Properties:
[
Label: 'Maximum thermal trial capacity'
+ Mask: 'NUMBER'
Taborder: 0
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Component_pnlRatio.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Component_pnlRatio.def
index dbad8e2..f236d2a 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Component_pnlRatio.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Component_pnlRatio.def
@@ -22,6 +22,7 @@
Properties:
[
Label: '1:'
+ Mask: 'NUMBER'
Taborder: 1
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Method_OnOK.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Method_OnOK.def
index 013d36c..352eda7 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Method_OnOK.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Method_OnOK.def
@@ -12,18 +12,9 @@
data := dhDialogData.Data();
- //if( isnull( data.WrappedInstance() ) ) // New
- //{
- // // When create product, parent relation must be null (as server method has logic to detect parent change using this relation)
- // data.Parent( relflush );
- // data.Commit();
- // dhForm.Data().ListEventType().SelectByKey( data.WrappedInstance().Key() );
- //}
- //else
- //{
- // LibCal_EventType::Update( dhDialogData.Data().WrappedInstance(), efID.Text(), efName.Text()
- // ,guard( selParent.Data(), null( LibCal_EventType ) ) );
- //}
+ newroutings := Routing::ThermalTrialRatio( data, [Number]efMaxCapacity.Text(), dsStartTime.Date(), dsEndTime.Date(), [Number]efThermalTrialRatio.Text() );
+
+ ApplicationMacroPlanner.SelectListObjects( dhForm.Data().ListRoutings(), newroutings );
this.Close();
*]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Response_pnlActions_btnOk_OnClick.def
index 8fd0a6d..94cd36f 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Response_pnlActions_btnOk_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Response_pnlActions_btnOk_OnClick.def
@@ -5,12 +5,15 @@
#keys: '[415136.0.756140039]'
DefinitionID: 'Responsedef_WebButton_OnClick'
GroupServerCalls: true
+ Precondition:
+ [*
+ return Routing::ValidateThermalTrialRatio( feedback, ddlRouting.Data(), [Number]efMaxCapacity.Text(), dsStartTime.Date(), dsEndTime.Date(), [Number]efThermalTrialRatio.Text() );
+ *]
QuillAction
{
Body:
[*
- Form.ApplyChanges();
- Form.Close();
+ Form.OnOK();
*]
}
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Component_ListEntity.def b/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Component_ListEntity.def
new file mode 100644
index 0000000..650c732
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Component_ListEntity.def
@@ -0,0 +1,123 @@
+Quintiq file version 2.0
+Component ListEntity
+{
+ #keys: '[414702.2.1845329611]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractorEntity
+ {
+ #keys: '[414702.2.1845329612]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'MacroPlan'
+ FixedFilter: 'not object.GetIsSystem() and object.IsUnit();'
+ Source: 'MacroPlan'
+ Taborder: 0
+ Transformation: 'RootEntity'
+ ]
+ }
+ Component DataSetLevelRootEntity
+ {
+ #keys: '[414702.2.1845329613]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenu902_1
+ Component DataSetLevelChildEntity
+ {
+ #keys: '[414702.2.1845329623]'
+ BaseType: 'WebDataSetLevel'
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeAllConstraint","columnid":"All constraints","title":"All constraints","subtotals":"","tooltip":"","width":-1,"display":"shown"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DisplayName","title":"Name","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"DisplayName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DisplayCapacityType","title":"Capacity type","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"DisplayCapacityType"}}]'
+ ContextMenu: 'listContextMenu902'
+ FixedFilter: 'not object.GetIsSystem() and object.IsUnit();'
+ RelationFromParent: 'ChildEntity'
+ RelationRepeating: 'ChildEntity'
+ SortCriteria: 'DisplayIndex'
+ Taborder: 0
+ ]
+ }
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeAllConstraint","columnid":"All constraints","title":"All constraints","subtotals":"","tooltip":"","width":-1,"display":"shown"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DisplayName","title":"Name","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"DisplayName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DisplayCapacityType","title":"Capacity type","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"DisplayCapacityType"}}]'
+ ContextMenu: 'listContextMenu902'
+ RelationFromParent: 'ChildEntity'
+ SortCriteria: 'DisplayIndex'
+ Taborder: 1
+ ]
+ }
+ #child: listActionBarPageEntities_1
+ ]
+ Properties:
+ [
+ DefaultExpandLevels: 100
+ Taborder: 0
+ ]
+ ResponseDefinitions:
+ [
+ DelegatedResponseDefinition OnClick id:Responsedef_ListEntity_WebMenu_OnClick
+ {
+ #keys: '[414702.2.1845329586]'
+ Initiator: 'WebMenu'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selection
+ {
+ #keys: '[293.0.3027433]'
+ Binding: 'this.Selection()'
+ }
+ ]
+ }
+ DelegatedResponseDefinition OnClick id:Responsedef_ListEntity_WebButton_OnClick
+ {
+ #keys: '[414702.2.1845329585]'
+ Initiator: 'WebButton'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selection
+ {
+ #keys: '[6763.0.8029304]'
+ Binding: 'this.Selection()'
+ }
+ ]
+ }
+ DelegatedResponseDefinition OnClick id:Responsedef_ListEntity_WebMenu_OnClick_360
+ {
+ #keys: '[414702.2.1845329584]'
+ Initiator: 'WebMenu'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument checked
+ {
+ #keys: '[6763.0.8029349]'
+ Binding: 'this.Checked()'
+ }
+ ]
+ }
+ DelegatedResponseDefinition OnClick id:Responsedef_ListEntity_WebButton_OnClick_613
+ {
+ #keys: '[414702.2.1845329583]'
+ Initiator: 'WebButton'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument checked
+ {
+ #keys: '[6763.0.8029394]'
+ Binding: 'this.Checked()'
+ }
+ ]
+ }
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Component_listActionBarPageEntities\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Component_listActionBarPageEntities\0431.def"
new file mode 100644
index 0000000..a836ae6
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Component_listActionBarPageEntities\0431.def"
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPageEntities id:listActionBarPageEntities_1
+{
+ #keys: '[414702.2.1845329624]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 2
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Component_listContextMenu902\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Component_listContextMenu902\0431.def"
new file mode 100644
index 0000000..7874133
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Component_listContextMenu902\0431.def"
@@ -0,0 +1,35 @@
+Quintiq file version 2.0
+Component listContextMenu902 id:listContextMenu902_1
+{
+ #keys: '[414702.2.1845329614]'
+ BaseType: 'listContextMenu'
+ Children:
+ [
+ Component MenuSeparator
+ {
+ #keys: '[121142.1.1147171519]'
+ BaseType: 'MenuSeparator'
+ IsDerived: true
+ Properties:
+ [
+ Taborder: 3
+ ]
+ }
+ Component MenuSelectAll
+ {
+ #keys: '[414702.2.1845329622]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'SELECTION_VIEW'
+ Shortcut: 'Ctrl+A'
+ Taborder: 2
+ Title: 'Select all'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Component_pnlActions.def b/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Component_pnlActions.def
new file mode 100644
index 0000000..42d8211
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Component_pnlActions.def
@@ -0,0 +1,40 @@
+Quintiq file version 2.0
+Component pnlActions
+{
+ #keys: '[414702.2.1844994358]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component btnOk
+ {
+ #keys: '[414702.2.1844994362]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Label: 'OK'
+ Taborder: 0
+ ]
+ }
+ Component btnCancel
+ {
+ #keys: '[414702.2.1844994364]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Label: 'Cancel'
+ Taborder: 1
+ ]
+ }
+ ]
+ Properties:
+ [
+ Alignment: 'trailing'
+ Border: true
+ ExcludeFromActiveComponent: true
+ FixedSize: true
+ Orientation: 'horizontal'
+ Padding: 'true'
+ Style: 'footer'
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Component_pnlContent.def
new file mode 100644
index 0000000..0216bca
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Component_pnlContent.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+Component pnlContent
+{
+ #keys: '[414702.2.1844994356]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ #child: ListEntity
+ ]
+ Properties:
+ [
+ Padding: 'true'
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Response_ListEntity_MenuSelectAll_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Response_ListEntity_MenuSelectAll_OnClick.def
new file mode 100644
index 0000000..e1b2def
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Response_ListEntity_MenuSelectAll_OnClick.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: ListEntity
+Response OnClick () id:Response_ListEntity_MenuSelectAll_OnClick
+{
+ #keys: '[414702.2.1845206151]'
+ CanBindMultiple: false
+ DefinitionID => /ListEntity/Responsedef_ListEntity_WebMenu_OnClick
+ Initiator: 'MenuSelectAll'
+ QuillAction
+ {
+ Body:
+ [*
+ this.SelectAll();
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Response_ListEntity_OnDrawElement.def b/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Response_ListEntity_OnDrawElement.def
new file mode 100644
index 0000000..3b3abe2
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Response_ListEntity_OnDrawElement.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: ListEntity
+Response OnDrawElement (
+ Entity element
+) id:Response_ListEntity_OnDrawElement
+{
+ #keys: '[414702.2.1845463150]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebList_OnDrawElement'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ drawinfo.Image( 0, element.GetIconName() );
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Response_pnlActions_btnCancel_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Response_pnlActions_btnCancel_OnClick.def
new file mode 100644
index 0000000..ac96ffa
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Response_pnlActions_btnCancel_OnClick.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: pnlActions/btnCancel
+Response OnClick () id:Response_pnlActions_btnCancel_OnClick
+{
+ #keys: '[414702.2.1844994368]'
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ Form.Close();
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Response_pnlActions_btnOk_OnClick.def
new file mode 100644
index 0000000..f6a3c38
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Response_pnlActions_btnOk_OnClick.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: pnlActions/btnOk
+Response OnClick () id:Response_pnlActions_btnOk_OnClick
+{
+ #keys: '[414702.2.1844994367]'
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ Form.ApplyChanges();
+ Form.Close();
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/_ROOT_Component_DialogWholeShiftSystem.def b/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/_ROOT_Component_DialogWholeShiftSystem.def
new file mode 100644
index 0000000..e89d0ad
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/_ROOT_Component_DialogWholeShiftSystem.def
@@ -0,0 +1,24 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent DialogWholeShiftSystem
+{
+ #keys: '[414702.2.1844994354]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: pnlContent
+ #child: pnlActions
+ ]
+ Properties:
+ [
+ Alignment: 'trailing'
+ EnterButton: 'btnOk'
+ EscapeButton: 'btnCancel'
+ ExcludeFromActiveComponent: true
+ MinimumColumns: 100
+ MinimumRows: 100
+ Padding: 'false'
+ Title: 'WholeShiftSystem'
+ ]
+}
--
Gitblit v1.9.3