From 1a337396c4c1ec7c7e3ee1fc7490343f69fdc054 Mon Sep 17 00:00:00 2001
From: limj <limj@taizhitech.com>
Date: 星期五, 22 九月 2023 11:36:27 +0800
Subject: [PATCH] Merge branch 'dev' of http://47.101.211.7:10101/r/TIANMA_JITUAN into dev_lmj
---
_Main/BL/Type_CapacityAllocationResults/Attribute_PanelBase.qbl | 8 +
_Main/BL/Type_CapacityAllocationResults/Attribute_VersionNumber.qbl | 8 +
_Main/Sys/Integration/Brokers/PanelMaterialResponseResult1.xml | 0
_Main/BL/Type_CapacityAllocationResults/Attribute_NumberOfPanels.qbl | 8 +
_Main/BL/Type_CapacityAllocationResults/_ROOT_Type_CapacityAllocationResults.qbl | 10 +
_Main/Sys/Integration/Mapping/PanelMaterialResponseResult1.xml | 0
_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def | 4
_Main/UI/MacroPlanner/Component_FormTestButtonCollection/Response_Button398_OnClick.def | 12 +
_Main/UI/MacroPlanner/Component_FormTestButtonCollection/_ROOT_Component_FormTestButtonCollection.def | 50 ++++++
_Main/BL/Type_CapacityAllocationResults/Attribute_ModuleBase.qbl | 8 +
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_listActionBarPageCapacityAllocationResults.def | 10 +
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Component_ListCapacityAndSaleBudgeFilterPlaceOfProductionOfArray.def | 2
_Main/BL/Relations/Relation_CapacityAllocationResults_GlobalOTDTable_GlobalOTDTable_CapacityAll.qbl | 23 ++
_Main/BL/Type_CapacityAllocationResults/StaticMethod_CreateDate.qbl | 28 +++
_Main/BL/Type_CapacityAllocationResults/Attribute_ModuleMeasurementUnit.qbl | 8 +
_Main/BL/Type_MPSync/Method_RefreshCapacityAndSaleBudgeFilter#323.qbl | 15 +
_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration.qbl | 55 ++++++
_Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/ContentMapperProcessor_ContentMapperReponse#1.qbl | 15 +
_Main/BL/Type_CapacityAllocationResults/Attribute_ModuleMaterialCode.qbl | 8 +
_Main/BL/Type_CapacityAllocationResults/Attribute_PanelMaterialCode.qbl | 8 +
_Main/Sys/Integration/Structure/PanelMaterialResponseResult1_to.xml | 0
_Main/BL/Type_CapacityAllocationResults/Attribute_PanelMeasurementUnit.qbl | 8 +
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/Component_ListCapacityAndSaleBudgeFilterBusinessType.def | 2
_Main/BL/Type_CapacityAllocationResults/Attribute_Division.qbl | 8 +
_Main/BL/Type_CapacityAllocationResults/Attribute_NumberOfModules.qbl | 8 +
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_listContextMenuCapacityAllocationResults.def | 10 +
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_ListCapacityAllocationResults.def | 41 +++++
_Main/BL/Type_CapacityAllocationResults/Attribute_RequirementDate.qbl | 8 +
_Main/BL/Type_CapacityAllocationResults/StaticMethod_ObtainTheFinalOutputProduct.qbl | 25 +++
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/_ROOT_Component_FormCapacityAllocationResults.def | 28 +++
_Main/BL/Type_GlobalDTOTable/Method_ReceivingPanelMaterials.qbl | 40 ----
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Response_ButtonGenerateCapacityAllocationResults_OnClick.def | 16 ++
_Main/UI/MacroPlannerWebApp/_ROOT_Project_MacroPlannerWebApp.qp | 2
_Main/Sys/Integration/Structure/PanelMaterialResponseResult1_from.xml | 0
34 files changed, 439 insertions(+), 37 deletions(-)
diff --git "a/_Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/ContentMapperProcessor_ContentMapperReponse\0431.qbl" "b/_Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/ContentMapperProcessor_ContentMapperReponse\0431.qbl"
index 3692157..7a5e360 100644
--- "a/_Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/ContentMapperProcessor_ContentMapperReponse\0431.qbl"
+++ "b/_Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/ContentMapperProcessor_ContentMapperReponse\0431.qbl"
@@ -2,8 +2,21 @@
#parent: #root
ContentMapperProcessor ContentMapperReponse
{
- DefaultMappingName: 'PanelMaterialResponseResult'
PosX: 330
PosY: 450
ReplyChannelOutputs: QuintiqEndpoint
+ ConditionalMapping
+ {
+ ExpectedValue: '/panelMaterial/send'
+ MappingName: 'PanelMaterialResponseResult1'
+ SourceMessagePath
+ {
+ Path: 'Header'
+ }
+ SourceMessagePath
+ {
+ Path: 'path'
+ SequenceNr: 1
+ }
+ }
}
diff --git a/_Main/BL/Relations/Relation_CapacityAllocationResults_GlobalOTDTable_GlobalOTDTable_CapacityAll.qbl b/_Main/BL/Relations/Relation_CapacityAllocationResults_GlobalOTDTable_GlobalOTDTable_CapacityAll.qbl
new file mode 100644
index 0000000..278c0e9
--- /dev/null
+++ b/_Main/BL/Relations/Relation_CapacityAllocationResults_GlobalOTDTable_GlobalOTDTable_CapacityAll.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation CapacityAllocationResults_GlobalOTDTable_GlobalOTDTable_CapacityAllocationResults
+{
+ #keys: '1[414702.0.340560333]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide GlobalOTDTable
+ {
+ #keys: '3[414702.0.340560335][414702.0.340560334][414702.0.340560336]'
+ Cardinality: '0to1'
+ ObjectDefinition: CapacityAllocationResults
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide CapacityAllocationResults
+ {
+ #keys: '3[414702.0.340560338][414702.0.340560337][414702.0.340560339]'
+ Cardinality: '1toN'
+ ObjectDefinition: GlobalOTDTable
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Type_CapacityAllocationResults/Attribute_Division.qbl b/_Main/BL/Type_CapacityAllocationResults/Attribute_Division.qbl
new file mode 100644
index 0000000..09c1ae9
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResults/Attribute_Division.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Division
+{
+ #keys: '3[414702.0.340560478][414702.0.340560477][414702.0.340560479]'
+ Description: '浜嬩笟閮�'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_CapacityAllocationResults/Attribute_ModuleBase.qbl b/_Main/BL/Type_CapacityAllocationResults/Attribute_ModuleBase.qbl
new file mode 100644
index 0000000..ae1564e
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResults/Attribute_ModuleBase.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ModuleBase
+{
+ #keys: '3[414702.0.340560468][414702.0.340560467][414702.0.340560469]'
+ Description: '妯$粍鍩哄湴'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_CapacityAllocationResults/Attribute_ModuleMaterialCode.qbl b/_Main/BL/Type_CapacityAllocationResults/Attribute_ModuleMaterialCode.qbl
new file mode 100644
index 0000000..837fe5a
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResults/Attribute_ModuleMaterialCode.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ModuleMaterialCode
+{
+ #keys: '3[414702.0.340560429][414702.0.340560428][414702.0.340560430]'
+ Description: '妯$粍鐗╂枡缂栫爜'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_CapacityAllocationResults/Attribute_ModuleMeasurementUnit.qbl b/_Main/BL/Type_CapacityAllocationResults/Attribute_ModuleMeasurementUnit.qbl
new file mode 100644
index 0000000..bbaff01
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResults/Attribute_ModuleMeasurementUnit.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ModuleMeasurementUnit
+{
+ #keys: '3[414702.0.340560458][414702.0.340560457][414702.0.340560459]'
+ Description: '妯$粍鍗曚綅'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_CapacityAllocationResults/Attribute_NumberOfModules.qbl b/_Main/BL/Type_CapacityAllocationResults/Attribute_NumberOfModules.qbl
new file mode 100644
index 0000000..efcf4e6
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResults/Attribute_NumberOfModules.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute NumberOfModules
+{
+ #keys: '3[414702.0.340560442][414702.0.340560441][414702.0.340560443]'
+ Description: '妯$粍鏁伴噺'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_CapacityAllocationResults/Attribute_NumberOfPanels.qbl b/_Main/BL/Type_CapacityAllocationResults/Attribute_NumberOfPanels.qbl
new file mode 100644
index 0000000..ad4630f
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResults/Attribute_NumberOfPanels.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute NumberOfPanels
+{
+ #keys: '3[414702.0.340560391][414702.0.340560390][414702.0.340560392]'
+ Description: '闈㈡澘鏁伴噺'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_CapacityAllocationResults/Attribute_PanelBase.qbl b/_Main/BL/Type_CapacityAllocationResults/Attribute_PanelBase.qbl
new file mode 100644
index 0000000..5feb094
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResults/Attribute_PanelBase.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute PanelBase
+{
+ #keys: '3[414702.0.340560371][414702.0.340560370][414702.0.340560372]'
+ Description: '闈㈡澘鍩哄湴'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_CapacityAllocationResults/Attribute_PanelMaterialCode.qbl b/_Main/BL/Type_CapacityAllocationResults/Attribute_PanelMaterialCode.qbl
new file mode 100644
index 0000000..883bd5c
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResults/Attribute_PanelMaterialCode.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute PanelMaterialCode
+{
+ #keys: '3[414702.0.340560381][414702.0.340560380][414702.0.340560382]'
+ Description: '闈㈡澘鐗╂枡缂栫爜'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_CapacityAllocationResults/Attribute_PanelMeasurementUnit.qbl b/_Main/BL/Type_CapacityAllocationResults/Attribute_PanelMeasurementUnit.qbl
new file mode 100644
index 0000000..d722862
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResults/Attribute_PanelMeasurementUnit.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute PanelMeasurementUnit
+{
+ #keys: '3[414702.0.340560404][414702.0.340560403][414702.0.340560405]'
+ Description: '闈㈡澘鍗曚綅'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_CapacityAllocationResults/Attribute_RequirementDate.qbl b/_Main/BL/Type_CapacityAllocationResults/Attribute_RequirementDate.qbl
new file mode 100644
index 0000000..3d48677
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResults/Attribute_RequirementDate.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute RequirementDate
+{
+ #keys: '3[414702.0.340560506][414702.0.340560505][414702.0.340560507]'
+ Description: '闇�姹傛棩鏈�'
+ ValueType: Date
+}
diff --git a/_Main/BL/Type_CapacityAllocationResults/Attribute_VersionNumber.qbl b/_Main/BL/Type_CapacityAllocationResults/Attribute_VersionNumber.qbl
new file mode 100644
index 0000000..490bfdf
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResults/Attribute_VersionNumber.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute VersionNumber
+{
+ #keys: '3[414702.0.340560355][414702.0.340560354][414702.0.340560356]'
+ Description: '鐗堟湰鍙�'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_CreateDate.qbl b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_CreateDate.qbl
new file mode 100644
index 0000000..ef9782f
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_CreateDate.qbl
@@ -0,0 +1,28 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateDate (
+ GlobalOTDTable globalOTDTable,
+ MacroPlan macroPlan
+)
+{
+ TextBody:
+ [*
+ globalOTDTable.CapacityAllocationResults( relflush );
+
+ finaleProduct_MPs := CapacityAllocationResults::ObtainTheFinalOutputProduct( macroPlan );
+
+ period_MPS := null( Period_MPs );
+ traverse ( macroPlan, PeriodSpecification_MP, psmp, psmp.ID() = "Planning periods" ) {
+ period_MPS := selectsortedset( psmp, PeriodSpecificationPeriod.Period_MP, pmp, not pmp.IsHistorical(), pmp.StartDate() );
+ }
+
+ traverse ( finaleProduct_MPs, Elements, fpmp/*, fpmp.ID() = "ProXOver 1 D2.6 A"*/ ) {
+ traverse ( fpmp, ProductInStockingPoint_MP, pisp, /*pisp.Name() = "ProXOver 1 D2.6 A in Finished Cars (France)" and*/ not pisp.IsSystem() ) {
+ traverse ( period_MPS, Elements, pmp ) {
+ CapacityAllocationResults::IterativeGeneration( globalOTDTable, pisp, 1, null( NewSupply ), -1.0, pmp.StartDate() );
+ }
+ // info( pisp.Name() );
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration.qbl b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration.qbl
new file mode 100644
index 0000000..af2857c
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration.qbl
@@ -0,0 +1,55 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod IterativeGeneration (
+ GlobalOTDTable globalOTDTable,
+ ProductInStockingPoint_MP pisp,
+ Number numberOfLayers,
+ NewSupply finaleNewSupply,
+ Real finaleDependentDemand,
+ Date targetDate
+)
+{
+ TextBody:
+ [*
+ traverse ( pisp, ProductInStockingPointInPeriodPlanning.astype( ProductInStockingPointInPeriodPlanningLeaf ), pispippl, pispippl.Start().Date() = targetDate ) {
+ traverse ( pispippl, NewSupply, ns, ns.Quantity() > 0 ) {
+ // info( "鐢熸垚鐨勪骇鍝侊細", pisp.ProductID(), " 浜у搧鍦ㄥ簱瀛樼偣锛�", pisp.Name(), " 灞傛暟锛�", numberOfLayers, " 鎬荤敓浜ч噺锛�", ns.Quantity(), " 鏈�缁堜緷璧栫墿鏂欐暟閲忥細", finaleDependentDemand );
+ if ( finaleDependentDemand < 0 ) {
+ finaleDependentDemand := ns.Quantity();
+ }
+ if ( isnull( finaleNewSupply ) ) {
+ finaleNewSupply := ns;
+ }
+ if ( guard( ns.PeriodTask_MP().astype( PeriodTaskOperation ).DependentDemand( relsize ) > 0, false ) ) {
+ numberOfLayers++;
+ traverse ( ns, PeriodTask_MP.astype( PeriodTaskOperation ).DependentDemand, dd ) {
+ oo := ns.ProcessOutput().astype( OperationOutput );
+ oi := dd.ProcessInput().astype( OperationInput );
+ finaleDependentDemand := finaleDependentDemand * oo.Quantity() * oi.Quantity();
+ // info( "渚濊禆闇�姹備骇鍝両D锛�", dd.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID(), " 渚濊禆鏁伴噺锛�", dd.Quantity(), " 褰撳墠鍛ㄦ湡浠诲姟Key锛�", dd.PeriodTask_MP().astype( PeriodTaskOperation ).Key() );
+ CapacityAllocationResults::IterativeGeneration( globalOTDTable, dd.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP(), numberOfLayers, finaleNewSupply, finaleDependentDemand, targetDate );
+ }
+ // info( "----------------------------------------------------" );
+ } else {
+ // info( "鏃犱緷璧栭渶姹傦紝闇�瑕佺敓鎴愪骇鑳藉垎閰嶇粨鏋溿�傘�傘��" );
+ // info( "======" );
+ pispPanel := ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP();
+ pispModule := finaleNewSupply.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP();
+ globalOTDTable.CapacityAllocationResults( relnew,
+ PanelBase := pispPanel.StockingPointID(),
+ PanelMaterialCode := pispPanel.ProductID(),
+ NumberOfPanels := finaleDependentDemand,
+ PanelMeasurementUnit := pispPanel.UnitOfMeasure_MP().Name(),
+ ModuleMaterialCode := pispModule.ProductID(),
+ NumberOfModules := finaleNewSupply.Quantity(),
+ ModuleMeasurementUnit := pispModule.UnitOfMeasure_MP().Name(),
+ ModuleBase := pispModule.StockingPointID(),
+ RequirementDate := finaleNewSupply.Start().Date()
+ );
+ }
+ finaleNewSupply := null( NewSupply );
+ }
+ numberOfLayers := 1;
+ }
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_ObtainTheFinalOutputProduct.qbl b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_ObtainTheFinalOutputProduct.qbl
new file mode 100644
index 0000000..0db5a04
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_ObtainTheFinalOutputProduct.qbl
@@ -0,0 +1,25 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod ObtainTheFinalOutputProduct (
+ MacroPlan macroPlan
+) as owning Product_MPs
+{
+ TextBody:
+ [*
+ finaleProducts := construct( Product_MPs );
+
+ traverse ( macroPlan, Product_MP, pmp, pmp.IsLeaf() ) {
+ flag := true;
+ traverse ( macroPlan, Routing.RoutingStep.Operation.OperationInput, oi, flag ) {
+ if ( pmp = oi.ProductInStockingPoint_MP().Product_MP() ) {
+ flag := false;
+ }
+ }
+ if ( flag ) {
+ finaleProducts.Add( pmp );
+ }
+ }
+
+ return &finaleProducts;
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAllocationResults/_ROOT_Type_CapacityAllocationResults.qbl b/_Main/BL/Type_CapacityAllocationResults/_ROOT_Type_CapacityAllocationResults.qbl
new file mode 100644
index 0000000..e6f475e
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResults/_ROOT_Type_CapacityAllocationResults.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type CapacityAllocationResults
+{
+ #keys: '5[414702.0.340560330][414702.0.340560328][0.0.0][414702.0.340560329][414702.0.340560331]'
+ BaseType: Object
+ Description: '浜ц兘鍒嗛厤缁撴灉鎶ヨ〃'
+ StructuredName: 'CapacityAllocationResultss'
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/Method_ReceivingPanelMaterials.qbl b/_Main/BL/Type_GlobalDTOTable/Method_ReceivingPanelMaterials.qbl
index 08f1d13..5c58293 100644
--- a/_Main/BL/Type_GlobalDTOTable/Method_ReceivingPanelMaterials.qbl
+++ b/_Main/BL/Type_GlobalDTOTable/Method_ReceivingPanelMaterials.qbl
@@ -44,44 +44,18 @@
replynvt := LibInt_MessageAccessor::CreateEmptyMessage();
LibInt_MessageAccessor::SetHeaderProperty( replynvt, "Content-Type", "application/json" );
+ LibInt_MessageAccessor::SetHeaderProperty( replynvt, "path", "/panelMaterial/send" );
rootNamedValue := replynvt.Root();
bodyHandle := replynvt.GetHandle( "Body" );
- petHandle := replynvt.GetHandle( "Pet" );
+
+ //petHandle := replynvt.GetHandle( "Pet" );
bodyNamedValue := rootNamedValue.Child( bodyHandle );
- petNamedValue := bodyNamedValue.AddChild( petHandle );
- categoryHandle := replynvt.GetHandle( "Category" );
- categoryNamedValue := petNamedValue.AddChild( categoryHandle );
- categoryIDHandle := replynvt.GetHandle( "Id" );
- categoryIDNamedValue := categoryNamedValue.AddChild( categoryIDHandle );
- categoryIDNamedValue.SetValue( 3 );
- categoryNameHandle := replynvt.GetHandle( "Name" );
- categoryNameNamedValue := categoryNamedValue.AddChild( categoryNameHandle );
- categoryNameNamedValue.SetValue( "Cat" );
- petNameHandle := replynvt.GetHandle( "Name" );
- petNameValue := petNamedValue.AddChild( petNameHandle );
- petNameValue.SetValue( "Pet1" );
- petIdHandle := replynvt.GetHandle( "PetId" );
- petIdNameValue := petNamedValue.AddChild( petIdHandle );
- petIdNameValue.SetValue( 1 );
+ codeHandler := replynvt.GetHandle( "code" );
+ codeNamedValue := bodyNamedValue.AddChild( codeHandler );
+ codeNamedValue.SetValue( 200 );
- photoUrlHandle := replynvt.GetHandle( "PhotoUrl" );
- photoUrlNameValue := petNamedValue.AddChild( photoUrlHandle );
- urlHandle := replynvt.GetHandle( "Url" );
- photoUrlNameValue.AddChild( urlHandle, "url1" );
-
- statusHandle := replynvt.GetHandle( "Status" );
- statusNameValue := petNamedValue.AddChild( statusHandle );
- statusNameValue.SetValue( "available" );
-
- tagHandle := replynvt.GetHandle( "Tag" );
- tagNameValue := petNamedValue.AddChild( tagHandle );
- tagIdHandle := replynvt.GetHandle( "Id" );
- tagNameValue.AddChild( tagIdHandle, 123 );
- tagNameHandle := replynvt.GetHandle( "Name" );
- tagNameValue.AddChild( tagNameHandle, "tag1" );
-
-
+ info( "鍝嶅簲------------------------------------------------------------" );
info( replynvt.ToString() );
diff --git "a/_Main/BL/Type_MPSync/Method_RefreshCapacityAndSaleBudgeFilter\043323.qbl" "b/_Main/BL/Type_MPSync/Method_RefreshCapacityAndSaleBudgeFilter\043323.qbl"
new file mode 100644
index 0000000..5f2c716
--- /dev/null
+++ "b/_Main/BL/Type_MPSync/Method_RefreshCapacityAndSaleBudgeFilter\043323.qbl"
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: #root
+Method RefreshCapacityAndSaleBudgeFilter (
+ Boolean deleteBeforeCreate
+)
+{
+ TextBody:
+ [*
+ if( deleteBeforeCreate ) {
+ this.CapacityAndSaleBudgeFilterBusinessType( relflush );
+ this.CapacityAndSaleBudgeFilterPlaceOfProductionOfArray( relflush );
+ }
+ this.RefreshCapacityAndSaleBudgeFilter();
+ *]
+}
diff --git a/_Main/Sys/Integration/Brokers/PanelMaterialResponseResult1.xml b/_Main/Sys/Integration/Brokers/PanelMaterialResponseResult1.xml
new file mode 100644
index 0000000..e849218
--- /dev/null
+++ b/_Main/Sys/Integration/Brokers/PanelMaterialResponseResult1.xml
Binary files differ
diff --git a/_Main/Sys/Integration/Mapping/PanelMaterialResponseResult1.xml b/_Main/Sys/Integration/Mapping/PanelMaterialResponseResult1.xml
new file mode 100644
index 0000000..3017e20
--- /dev/null
+++ b/_Main/Sys/Integration/Mapping/PanelMaterialResponseResult1.xml
Binary files differ
diff --git a/_Main/Sys/Integration/Structure/PanelMaterialResponseResult1_from.xml b/_Main/Sys/Integration/Structure/PanelMaterialResponseResult1_from.xml
new file mode 100644
index 0000000..1e95e2a
--- /dev/null
+++ b/_Main/Sys/Integration/Structure/PanelMaterialResponseResult1_from.xml
Binary files differ
diff --git a/_Main/Sys/Integration/Structure/PanelMaterialResponseResult1_to.xml b/_Main/Sys/Integration/Structure/PanelMaterialResponseResult1_to.xml
new file mode 100644
index 0000000..c9bba0e
--- /dev/null
+++ b/_Main/Sys/Integration/Structure/PanelMaterialResponseResult1_to.xml
Binary files differ
diff --git a/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def b/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def
index 20ed0bd..7aa83c9 100644
--- a/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def
+++ b/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def
@@ -136,6 +136,8 @@
[
Component menuSeparator457 { #keys: '[414702.0.265704251]' BaseType: 'Menu' Properties: [ Separator: true ] }
Component ComponentMenu666 { #keys: '[414702.0.265704260]' BaseType: 'ComponentMenu' Properties: [ ComponentType: 'FormBrokerExecuteLog' Text: '' ] }
+ Component menuSeparator822 { #keys: '[414702.0.340555024]' BaseType: 'Menu' Properties: [ Separator: true ] }
+ Component ComponentMenu783 { #keys: '[414702.0.340555035]' BaseType: 'ComponentMenu' Properties: [ ComponentType: 'FormTestButtonCollection' Text: '' ] }
]
Properties:
[
@@ -154,6 +156,8 @@
c: menuExit
c: menuSeparator457
c: ComponentMenu666
+ c: menuSeparator822
+ c: ComponentMenu783
}
]
}
diff --git a/_Main/UI/MacroPlanner/Component_FormTestButtonCollection/Response_Button398_OnClick.def b/_Main/UI/MacroPlanner/Component_FormTestButtonCollection/Response_Button398_OnClick.def
new file mode 100644
index 0000000..7b1da32
--- /dev/null
+++ b/_Main/UI/MacroPlanner/Component_FormTestButtonCollection/Response_Button398_OnClick.def
@@ -0,0 +1,12 @@
+Quintiq file version 2.0
+#parent: Button398
+Response OnClick () id:Response_FormTestButtonCollection_Button398_OnClick
+{
+ #keys: '[414702.0.340554926]'
+ Body:
+ [*
+ CapacityAllocationResults::CreateDate( GlobalOTDTable, MacroPlan );
+ *]
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_GUIButtonBase_OnClick'
+}
diff --git a/_Main/UI/MacroPlanner/Component_FormTestButtonCollection/_ROOT_Component_FormTestButtonCollection.def b/_Main/UI/MacroPlanner/Component_FormTestButtonCollection/_ROOT_Component_FormTestButtonCollection.def
new file mode 100644
index 0000000..53a8703
--- /dev/null
+++ b/_Main/UI/MacroPlanner/Component_FormTestButtonCollection/_ROOT_Component_FormTestButtonCollection.def
@@ -0,0 +1,50 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlanner
+OrphanComponent FormTestButtonCollection
+{
+ #keys: '[414702.0.340554698]'
+ BaseType: 'Form'
+ GBLayout
+ {
+ Type: 'internal[GBLayoutDefinition]'
+ Columns:
+ [
+ GBFlow.Column { grow: 0 id: 454 parent: 0 }
+ ]
+ Elements:
+ [
+ GBElement
+ {
+ Component => Button398
+ Position { startcolumn: 454 startrow: 649 endcolumn: 454 endrow: 649 }
+ }
+ ]
+ Gaps: [ left: 5 right: 5 top: 5 bottom: 5 inner: 5 ]
+ Rows:
+ [
+ GBFlow.Row { grow: 0 id: 649 parent: 0 }
+ ]
+ }
+ Children:
+ [
+ Component Button398
+ {
+ #keys: '[414702.0.340554799]'
+ BaseType: 'Button'
+ Properties:
+ [
+ Image: 'HARDHAT'
+ Text: '鐢熸垚浜ц兘鍒嗛厤缁撴灉鏁版嵁'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Height: 209
+ Image: 'PIPETTE_TEST'
+ IncludeInView: true
+ Title: '鍔熻兘娴嬭瘯鎸夐挳'
+ Width: 535
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_ListCapacityAllocationResults.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_ListCapacityAllocationResults.def
new file mode 100644
index 0000000..c07b922
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_ListCapacityAllocationResults.def
@@ -0,0 +1,41 @@
+Quintiq file version 2.0
+Component ListCapacityAllocationResults
+{
+ #keys: '[414702.0.338762075]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractorCapacityAllocationResults
+ {
+ #keys: '[414702.0.338762076]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'GlobalOTDTable'
+ Source: 'GlobalOTDTable'
+ Taborder: 0
+ Transformation: 'CapacityAllocationResults'
+ ]
+ }
+ #child: listActionBarPageCapacityAllocationResults
+ Component DataSetLevelCapacityAllocationResults
+ {
+ #keys: '[414702.0.338762081]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenuCapacityAllocationResults
+ ]
+ 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"}}]'
+ ContextMenu: 'listContextMenuCapacityAllocationResults'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_listActionBarPageCapacityAllocationResults.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_listActionBarPageCapacityAllocationResults.def
new file mode 100644
index 0000000..5384f4a
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_listActionBarPageCapacityAllocationResults.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPageCapacityAllocationResults
+{
+ #keys: '[414702.0.338762078]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_listContextMenuCapacityAllocationResults.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_listContextMenuCapacityAllocationResults.def
new file mode 100644
index 0000000..62d4067
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_listContextMenuCapacityAllocationResults.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listContextMenuCapacityAllocationResults
+{
+ #keys: '[414702.0.338762083]'
+ BaseType: 'listContextMenu'
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Response_ButtonGenerateCapacityAllocationResults_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Response_ButtonGenerateCapacityAllocationResults_OnClick.def
new file mode 100644
index 0000000..2d97d02
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Response_ButtonGenerateCapacityAllocationResults_OnClick.def
@@ -0,0 +1,16 @@
+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/_ROOT_Component_FormCapacityAllocationResults.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/_ROOT_Component_FormCapacityAllocationResults.def
new file mode 100644
index 0000000..432fdfa
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/_ROOT_Component_FormCapacityAllocationResults.def
@@ -0,0 +1,28 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormCapacityAllocationResults
+{
+ #keys: '[414702.0.338731526]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: ListCapacityAllocationResults
+ Component ButtonGenerateCapacityAllocationResults
+ {
+ #keys: '[414702.0.340677556]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'PROCESS'
+ Label: '鐢熸垚鏁版嵁'
+ Taborder: 0
+ ]
+ }
+ ]
+ Properties:
+ [
+ Image: 'PUMPKIN_HALLOWEEN'
+ Title: '浜ц兘鍒嗛厤缁撴灉'
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/Component_ListCapacityAndSaleBudgeFilterBusinessType.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/Component_ListCapacityAndSaleBudgeFilterBusinessType.def
index 9d8acf7..712bf75 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/Component_ListCapacityAndSaleBudgeFilterBusinessType.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/Component_ListCapacityAndSaleBudgeFilterBusinessType.def
@@ -30,7 +30,7 @@
[
Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BusinessType","title":"BusinessType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"BusinessType"}}]'
ContextMenu: 'listContextMenuCapacityAndSaleBudgeFilterYear'
- SortCriteria: 'YearNo'
+ SortCriteria: 'BusinessType'
Taborder: 2
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Component_ListCapacityAndSaleBudgeFilterPlaceOfProductionOfArray.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Component_ListCapacityAndSaleBudgeFilterPlaceOfProductionOfArray.def
index 76e4e36..0d881d5 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Component_ListCapacityAndSaleBudgeFilterPlaceOfProductionOfArray.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Component_ListCapacityAndSaleBudgeFilterPlaceOfProductionOfArray.def
@@ -30,7 +30,7 @@
[
Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PlaceOfProductionOfArray","title":"PlaceOfProductionOfArray","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PlaceOfProductionOfArray"}}]'
ContextMenu: 'listContextMenuCapacityAndSaleBudgeFilterYear'
- SortCriteria: 'YearNo'
+ SortCriteria: 'PlaceOfProductionOfArray'
Taborder: 2
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/_ROOT_Project_MacroPlannerWebApp.qp b/_Main/UI/MacroPlannerWebApp/_ROOT_Project_MacroPlannerWebApp.qp
index 74c8fca..cb94597 100644
--- a/_Main/UI/MacroPlannerWebApp/_ROOT_Project_MacroPlannerWebApp.qp
+++ b/_Main/UI/MacroPlannerWebApp/_ROOT_Project_MacroPlannerWebApp.qp
@@ -5,7 +5,7 @@
ProjectProperties
{
ApplicationComponentName: 'ApplicationMacroPlanner'
- BuildVersion: '2022.3.0.113'
+ BuildVersion: '2022.3.0.32'
Description: 'Quintiq Macro Planner'
ProjectKind: 'WebClient'
}
--
Gitblit v1.9.3