From 4eb6f16a70cbb5c5dff4d8994fb8c042d25dbac2 Mon Sep 17 00:00:00 2001
From: lazhen <17772815105@139.com>
Date: 星期四, 06 六月 2024 14:14:26 +0800
Subject: [PATCH] 换型损失设置新增编辑完成

---
 _Main/BL/InfoMessages.qbl                                                                                                     |    4 
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Component_pnlEndTime.def                              |   23 +++
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/_ROOT_Component_DialogCreateEditThermalTrialRatio.def |   32 +++++
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Method_SetDefaultValue.def                            |   14 ++
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Component_pnlStartTime.def                            |   23 +++
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Component_pnlActions.def                              |   40 ++++++
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Response_pnlActions_btnCancel_OnClick.def             |   15 ++
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Component_pnlMaxCapacity.def                          |   23 +++
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Component_pnlContent.def                              |   18 +++
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Response_pnlActions_btnOk_OnClick.def                 |   16 ++
 _Main/BL/Type_ChangeLossSetting/StaticMethod_ValidateInput.qbl                                                                |   11 +
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditChangeLossSetting/Response_pnlActions_btnOk_OnClick.def                 |    4 
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Component_pnlStartAndEnd.def                          |   15 ++
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditChangeLossSetting/Component_pnlContent.def                              |    4 
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Component_pnlRouting.def                              |   54 +++++++++
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Method_Edit.def                                       |   18 +++
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditEventType/Component_pnlContent.def                                      |    1 
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Component_pnlRatio.def                                |   33 +++++
 18 files changed, 343 insertions(+), 5 deletions(-)

diff --git a/_Main/BL/InfoMessages.qbl b/_Main/BL/InfoMessages.qbl
index 25d5179..e9d598e 100644
--- a/_Main/BL/InfoMessages.qbl
+++ b/_Main/BL/InfoMessages.qbl
@@ -94,6 +94,10 @@
   {
     DefaultText: 'The same data already exists.'
   }
+  InfoMessage MP_ChangeLossSetting_SameProduct
+  {
+    DefaultText: 'The two products selected are the same.'
+  }
   InfoMessage MP_LibCal_EventType_Exist
   {
     DefaultText: 'The ID or name is the same.'
diff --git a/_Main/BL/Type_ChangeLossSetting/StaticMethod_ValidateInput.qbl b/_Main/BL/Type_ChangeLossSetting/StaticMethod_ValidateInput.qbl
index 55452d1..b5ed7dc 100644
--- a/_Main/BL/Type_ChangeLossSetting/StaticMethod_ValidateInput.qbl
+++ b/_Main/BL/Type_ChangeLossSetting/StaticMethod_ValidateInput.qbl
@@ -1,6 +1,7 @@
 Quintiq file version 2.0
 #parent: #root
 StaticMethod ValidateInput (
+  output String feedback,
   MacroPlan owner,
   ChangeLossSetting old,
   Unit unit,
@@ -13,13 +14,19 @@
   [*
     // 鐢勫叞楦� Jun-5-2024 (created)
     feedback := '';
+    
     if( isnull( unit ) or isnull( product1 ) or isnull( product2 ) or number < 1 ){
       feedback := Translations::MP_ChangeLossSetting_CheckNull();
     }
-    if( exists( owner, ChangeLossSetting, cls, cls <> old and cls.Unit() = unit and cls.ProductFirst() = product1 and cls.ProductSecond() = product2 ) ){
+    if( product1 = product2 ){
+      feedback := Translations::MP_ChangeLossSetting_SameProduct();
+    }
+    if( exists( owner, ChangeLossSetting, cls, cls <> old and cls.Unit() = unit 
+                and ( ( cls.ProductFirst() = product1 and cls.ProductSecond() = product2 ) 
+                      or ( cls.ProductFirst() = product2 and cls.ProductSecond() = product1 ) ) ) ){
       feedback := Translations::MP_ChangeLossSetting_Exist()
     }
-        
+    
     return feedback = '';
   *]
 }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditChangeLossSetting/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditChangeLossSetting/Component_pnlContent.def
index fe76392..44c4b7d 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditChangeLossSetting/Component_pnlContent.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditChangeLossSetting/Component_pnlContent.def
@@ -28,6 +28,7 @@
       Properties:
       [
         DataBinding: 'dhDialogData.Data.Unit'
+        DisplayField: 'Name'
         Label: 'Unit'
         Taborder: 0
       ]
@@ -55,6 +56,7 @@
       Properties:
       [
         DataBinding: 'dhDialogData.Data.ProductFirst'
+        DisplayField: 'Name'
         Label: 'Product1'
         Taborder: 1
       ]
@@ -82,6 +84,7 @@
       Properties:
       [
         DataBinding: 'dhDialogData.Data.ProductSecond'
+        DisplayField: 'Name'
         Label: 'Product2'
         Taborder: 2
       ]
@@ -94,6 +97,7 @@
       [
         DataBinding: 'dhDialogData.Data.ChangeLossNr'
         Label: 'Change loss number'
+        Min: '0'
         Taborder: 3
       ]
     }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditChangeLossSetting/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditChangeLossSetting/Response_pnlActions_btnOk_OnClick.def
index 142ea94..a93df84 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditChangeLossSetting/Response_pnlActions_btnOk_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditChangeLossSetting/Response_pnlActions_btnOk_OnClick.def
@@ -4,10 +4,9 @@
 {
   #keys: '[415136.0.735612174]'
   DefinitionID: 'Responsedef_WebButton_OnClick'
-  GroupServerCalls: true
   Precondition:
   [*
-    return ChangeLossSetting::ValidateInput( MacroPlan, dhDialogData.Data().WrappedInstance(), ddlUnit.Data(), ddlProduct1.Data(), ddlProduct2.Data(), [Number]npChangeLossNr.Number() );
+    return ChangeLossSetting::ValidateInput( feedback, MacroPlan, dhDialogData.Data().WrappedInstance(), ddlUnit.Data(), ddlProduct1.Data(), ddlProduct2.Data(), [Number]npChangeLossNr.Number() );
   *]
   QuillAction
   {
@@ -15,5 +14,6 @@
     [*
       Form.OnOK();
     *]
+    GroupServerCalls: false
   }
 }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditEventType/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditEventType/Component_pnlContent.def
index 288ffcc..e0ab82e 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditEventType/Component_pnlContent.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditEventType/Component_pnlContent.def
@@ -55,7 +55,6 @@
         FixedSize: false
         Label: 'Parent event type'
         Taborder: 2
-        Tooltip: '<html>Leave empty if the product is at the highest level of the product hierarchy.<br>Otherwise select the parent product.</html>'
       ]
     }
   ]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Component_pnlActions.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Component_pnlActions.def
new file mode 100644
index 0000000..77c135a
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Component_pnlActions.def
@@ -0,0 +1,40 @@
+Quintiq file version 2.0
+Component pnlActions
+{
+  #keys: '[415136.0.756140030]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component btnOk
+    {
+      #keys: '[415136.0.756140034]'
+      BaseType: 'WebButton'
+      Properties:
+      [
+        Label: 'OK'
+        Taborder: 0
+      ]
+    }
+    Component btnCancel
+    {
+      #keys: '[415136.0.756140036]'
+      BaseType: 'WebButton'
+      Properties:
+      [
+        Label: 'Cancel'
+        Taborder: 1
+      ]
+    }
+  ]
+  Properties:
+  [
+    Alignment: 'trailing'
+    Border: true
+    ExcludeFromActiveComponent: true
+    FixedSize: true
+    Orientation: 'horizontal'
+    Padding: 'true'
+    Style: 'footer'
+    Taborder: 2
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Component_pnlContent.def
new file mode 100644
index 0000000..404c6f2
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Component_pnlContent.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+Component pnlContent
+{
+  #keys: '[415136.0.756140028]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    #child: pnlRouting
+    #child: pnlMaxCapacity
+    #child: pnlStartAndEnd
+    #child: pnlRatio
+  ]
+  Properties:
+  [
+    Padding: 'true'
+    Taborder: 1
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Component_pnlEndTime.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Component_pnlEndTime.def
new file mode 100644
index 0000000..71508ea
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Component_pnlEndTime.def
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+Component pnlEndTime
+{
+  #keys: '[415136.0.756140748]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component dsEndTime
+    {
+      #keys: '[415136.0.756140766]'
+      BaseType: 'WebDateSelector'
+      Properties:
+      [
+        Label: 'End'
+        Taborder: 0
+      ]
+    }
+  ]
+  Properties:
+  [
+    Taborder: 1
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Component_pnlMaxCapacity.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Component_pnlMaxCapacity.def
new file mode 100644
index 0000000..8f1b508
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Component_pnlMaxCapacity.def
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+Component pnlMaxCapacity
+{
+  #keys: '[415136.0.756140541]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component efMaxCapacity
+    {
+      #keys: '[415136.0.756140589]'
+      BaseType: 'WebEditField'
+      Properties:
+      [
+        Label: 'Maximum thermal trial capacity'
+        Taborder: 0
+      ]
+    }
+  ]
+  Properties:
+  [
+    Taborder: 1
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Component_pnlRatio.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Component_pnlRatio.def
new file mode 100644
index 0000000..6a8738e
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Component_pnlRatio.def
@@ -0,0 +1,33 @@
+Quintiq file version 2.0
+Component pnlRatio
+{
+  #keys: '[415136.0.756140800]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component lblThermalTrialRatio
+    {
+      #keys: '[415136.0.756140822]'
+      BaseType: 'WebLabel'
+      Properties:
+      [
+        Label: 'Thermal Trial Ratio'
+        Taborder: 0
+      ]
+    }
+    Component efThermalTrialRatio
+    {
+      #keys: '[415136.0.756140847]'
+      BaseType: 'WebEditField'
+      Properties:
+      [
+        Label: '1:'
+        Taborder: 1
+      ]
+    }
+  ]
+  Properties:
+  [
+    Taborder: 3
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Component_pnlRouting.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Component_pnlRouting.def
new file mode 100644
index 0000000..844a6b8
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Component_pnlRouting.def
@@ -0,0 +1,54 @@
+Quintiq file version 2.0
+Component pnlRouting
+{
+  #keys: '[415136.0.756140163]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component ddlRouting
+    {
+      #keys: '[415136.0.756140276]'
+      BaseType: 'WebDropDownList'
+      Databinding: 'Routing'
+      Children:
+      [
+        Component DataExtractorRouting
+        {
+          #keys: '[415136.0.756140277]'
+          BaseType: 'WebDataExtractor'
+          Properties:
+          [
+            DataType: 'structured[Routing]'
+            Source: 'dhRoutingSelection'
+            Taborder: 0
+            Transformation: 'Elements'
+          ]
+        }
+      ]
+      Properties:
+      [
+        AllowEmpty: true
+        DataBinding: 'dhDialogData.Data'
+        DisplayField: 'Name'
+        FixedSize: false
+        Label: 'Routing'
+        Taborder: 1
+      ]
+    }
+    Component dhRoutingSelection
+    {
+      #keys: '[415136.0.756140424]'
+      BaseType: 'WebDataHolder'
+      Databinding: 'structured[Routing]*'
+      Properties:
+      [
+        MergeStyle: 'Union'
+        Taborder: 0
+      ]
+    }
+  ]
+  Properties:
+  [
+    Taborder: 0
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Component_pnlStartAndEnd.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Component_pnlStartAndEnd.def
new file mode 100644
index 0000000..344f17d
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Component_pnlStartAndEnd.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+Component pnlStartAndEnd
+{
+  #keys: '[415136.0.756140654]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    #child: pnlStartTime
+    #child: pnlEndTime
+  ]
+  Properties:
+  [
+    Taborder: 2
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Component_pnlStartTime.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Component_pnlStartTime.def
new file mode 100644
index 0000000..a304484
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Component_pnlStartTime.def
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+Component pnlStartTime
+{
+  #keys: '[415136.0.756140686]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component dsStartTime
+    {
+      #keys: '[415136.0.756140720]'
+      BaseType: 'WebDateSelector'
+      Properties:
+      [
+        Label: 'Start'
+        Taborder: 0
+      ]
+    }
+  ]
+  Properties:
+  [
+    Taborder: 0
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Method_Edit.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Method_Edit.def
new file mode 100644
index 0000000..7336b65
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Method_Edit.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: #root
+Method Edit (
+  Routing selection
+) id:Method_DialogCreateEditThermalTrialRatio_Edit
+{
+  #keys: '[415136.0.756141435]'
+  Body:
+  [*
+    // Edit Product(s)
+    
+    dhDialogData.Data( selection );
+    
+    Form.SetDefaultValue();
+    
+    ApplicationMacroPlanner.ShowFormModal( this );
+  *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Method_SetDefaultValue.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Method_SetDefaultValue.def
new file mode 100644
index 0000000..331efba
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Method_SetDefaultValue.def
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+#parent: #root
+Method SetDefaultValue () id:Method_DialogCreateEditThermalTrialRatio_SetDefaultValue
+{
+  #keys: '[415136.0.756141199]'
+  Body:
+  [*
+    // Set default + init dialog
+    
+    routings := selectset( MacroPlan, Routing, routing , true );
+    
+    dhRoutingSelection.Data( routings.Copy() );
+  *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Response_pnlActions_btnCancel_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Response_pnlActions_btnCancel_OnClick.def
new file mode 100644
index 0000000..7a125d5
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/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: '[415136.0.756140040]'
+  DefinitionID: 'Responsedef_WebButton_OnClick'
+  GroupServerCalls: true
+  QuillAction
+  {
+    Body:
+    [*
+      Form.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
new file mode 100644
index 0000000..8fd0a6d
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/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: '[415136.0.756140039]'
+  DefinitionID: 'Responsedef_WebButton_OnClick'
+  GroupServerCalls: true
+  QuillAction
+  {
+    Body:
+    [*
+      Form.ApplyChanges();
+      Form.Close();
+    *]
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/_ROOT_Component_DialogCreateEditThermalTrialRatio.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/_ROOT_Component_DialogCreateEditThermalTrialRatio.def
new file mode 100644
index 0000000..9d7f702
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/_ROOT_Component_DialogCreateEditThermalTrialRatio.def
@@ -0,0 +1,32 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent DialogCreateEditThermalTrialRatio
+{
+  #keys: '[415136.0.756140026]'
+  BaseType: 'WebForm'
+  Children:
+  [
+    #child: pnlContent
+    #child: pnlActions
+    Component dhDialogData id:dhDialogData_623
+    {
+      #keys: '[415136.0.756140336]'
+      BaseType: 'WebDataHolder'
+      Databinding: 'Routing'
+      Properties:
+      [
+        Taborder: 0
+      ]
+    }
+  ]
+  Properties:
+  [
+    Alignment: 'trailing'
+    EnterButton: 'btnOk'
+    EscapeButton: 'btnCancel'
+    ExcludeFromActiveComponent: true
+    Padding: 'false'
+    Title: 'Thermal trial ratio'
+  ]
+}

--
Gitblit v1.9.3