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