From 56c0e837d2caae5f6a9ecda085715d6e29757ece Mon Sep 17 00:00:00 2001 From: Kevin Kok Khah Whey <khahwhey.kok@3ds.com> Date: 星期三, 27 九月 2023 18:45:27 +0800 Subject: [PATCH] Kevin: Added test method and modified GlobalOTDTable.SetIsLinkedWithFinishedGoodAttributes method. --- _Main/BL/Type_Global_MappingProduct_MP/Method_SetIsLinkedWithFinishedGoodAttributes_Recursive.qbl | 14 +++++++++++--- _Main/BL/Type_GlobalDTOTable/Method_Test.qbl | 9 +++++++++ _Main/BL/Type_GlobalDTOTable/Method_SetIsLinkedWithFinishedGoodAttributes.qbl | 8 ++++++-- _Main/BL/Type_Global_MappingProduct_MP/Attribute_BOMCount.qbl | 8 ++++++++ _Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Response_TIANMA_JITUAN_mbMainMenu_MenuGlobalOTDTableTest_OnClick.def | 12 ++++++++++++ _Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def | 5 +++++ 6 files changed, 51 insertions(+), 5 deletions(-) diff --git a/_Main/BL/Type_GlobalDTOTable/Method_SetIsLinkedWithFinishedGoodAttributes.qbl b/_Main/BL/Type_GlobalDTOTable/Method_SetIsLinkedWithFinishedGoodAttributes.qbl index 6aedc24..5a4ba17 100644 --- a/_Main/BL/Type_GlobalDTOTable/Method_SetIsLinkedWithFinishedGoodAttributes.qbl +++ b/_Main/BL/Type_GlobalDTOTable/Method_SetIsLinkedWithFinishedGoodAttributes.qbl @@ -30,12 +30,16 @@ traverse( this, Global_MappingProduct_MP, product, product.ProductMajorType() = "鎴愬搧" ) { + uniquebomids := construct( Strings ); + product.IsLinkedWithFinishedGood( false ); product.SetIsLinkedWithFinishedGoodAttributes_Recursive( 0, // depth 100, // maxdepth productspool, operationspool, - operationbomspool ); - + operationbomspool, + uniquebomids ); + uniquebomids := uniquebomids.Unique(); + product.BOMCount( uniquebomids.Size() ); } *] } diff --git a/_Main/BL/Type_GlobalDTOTable/Method_Test.qbl b/_Main/BL/Type_GlobalDTOTable/Method_Test.qbl new file mode 100644 index 0000000..26e43f9 --- /dev/null +++ b/_Main/BL/Type_GlobalDTOTable/Method_Test.qbl @@ -0,0 +1,9 @@ +Quintiq file version 2.0 +#parent: #root +Method Test +{ + TextBody: + [* + // KKO2 Sep-27-2023 (created) + *] +} diff --git a/_Main/BL/Type_Global_MappingProduct_MP/Attribute_BOMCount.qbl b/_Main/BL/Type_Global_MappingProduct_MP/Attribute_BOMCount.qbl new file mode 100644 index 0000000..1916cbd --- /dev/null +++ b/_Main/BL/Type_Global_MappingProduct_MP/Attribute_BOMCount.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute BOMCount +{ + #keys: '3[157968.0.1161166085][157968.0.1161166084][157968.0.1161166086]' + Description: 'Number of unique BOM used to produce this finished good.' + ValueType: Number +} diff --git a/_Main/BL/Type_Global_MappingProduct_MP/Method_SetIsLinkedWithFinishedGoodAttributes_Recursive.qbl b/_Main/BL/Type_Global_MappingProduct_MP/Method_SetIsLinkedWithFinishedGoodAttributes_Recursive.qbl index 4c9b813..f0425fa 100644 --- a/_Main/BL/Type_Global_MappingProduct_MP/Method_SetIsLinkedWithFinishedGoodAttributes_Recursive.qbl +++ b/_Main/BL/Type_Global_MappingProduct_MP/Method_SetIsLinkedWithFinishedGoodAttributes_Recursive.qbl @@ -5,7 +5,8 @@ Number maxdepth, Global_MappingProduct_MPs productspool, Global_MappingOperations operationspool, - Global_MappingOperationBOMs operationbomspool + Global_MappingOperationBOMs operationbomspool, + output Strings uniquebomids_o ) { Description: 'Method to traverse the supply chain recursively to determine if there are any products that are not used to produce finished goods.' @@ -13,6 +14,11 @@ [* if( not this.IsLinkedWithFinishedGood() ) { + if( this.ProductMajorType() <> "鎴愬搧" ) + { + uniquebomids_o.Add( this.ID() ); + } + depth := depth + 1; this.IsLinkedWithFinishedGood( true ); @@ -50,7 +56,8 @@ maxdepth, productspool, operationspool, - operationbomspool ); + operationbomspool, + uniquebomids_o ); } if( operationbom.AlternativeMaterialCode() <> "" @@ -66,7 +73,8 @@ maxdepth, productspool, operationspool, - operationbomspool ); + operationbomspool, + uniquebomids_o ); } } } diff --git a/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def b/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def index 7aa83c9..4ad9e84 100644 --- a/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def +++ b/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def @@ -13,6 +13,10 @@ [ Component MenuSpecial #extension { + Children: + [ + Component MenuGlobalOTDTableTest { #keys: '[157968.0.1170224128]' BaseType: 'Menu' Properties: [ Image: 'DUDE2' Text: 'GlobalOTDTable Test' ] } + ] Properties: [ ModeledStringList ChildOrdering @@ -30,6 +34,7 @@ c: MenuTest c: MenuScenarioManagerTest c: MenuMPDomainHandlerTest + c: MenuGlobalOTDTableTest c: MenuRemoveHistory c: Menu46 c: MenuRefresh diff --git a/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Response_TIANMA_JITUAN_mbMainMenu_MenuGlobalOTDTableTest_OnClick.def b/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Response_TIANMA_JITUAN_mbMainMenu_MenuGlobalOTDTableTest_OnClick.def new file mode 100644 index 0000000..9596987 --- /dev/null +++ b/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Response_TIANMA_JITUAN_mbMainMenu_MenuGlobalOTDTableTest_OnClick.def @@ -0,0 +1,12 @@ +Quintiq file version 2.0 +#parent: mbMainMenu/MenuGlobalOTDTableTest +Response OnClick () id:Response_TIANMA_JITUAN_mbMainMenu_MenuGlobalOTDTableTest_OnClick +{ + #keys: '[157968.0.1170224134]' + Body: + [* + // Run GlobalOTDTable test method + GlobalOTDTable.Test(); + *] + DefinitionID: 'Responsedef_Menu_OnClick' +} -- Gitblit v1.9.3