From 4c2024c5a521c44b1b35c490fa98e84918840fcc Mon Sep 17 00:00:00 2001 From: hongjli <3117313295@qq.com> Date: 星期三, 13 九月 2023 10:44:43 +0800 Subject: [PATCH] 物料标签同步库存规范 --- /dev/null | 23 ------- _Main/BL/Type_GlobalDTOTable/Method_RefreshPanelMaterialData.qbl | 12 ++-- _Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelMaterialExportAndImport#136.def | 1 _Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_PanelFunctionButtons_ButtonRefresh_OnClick.def | 2 _Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_SynchronizeInventoryTargets.qbl | 35 +++++++++++ _Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterialExportAndImport_136_ButtonSynchronizeInventoryTargets_.def | 8 ++ _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Method_New.def | 2 _Main/BL/Relations/Relation_PanelMaterial_MacroPlan_MacroPlan_PanelMaterial.qbl | 23 +++++++ _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Response_pnlActions_btnOk_OnClick.def | 10 +- _Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_ListData.def | 4 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Method_Edit.def | 2 _Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_ListData_MenuCreate_OnClick.def | 4 + 12 files changed, 85 insertions(+), 41 deletions(-) diff --git a/_Main/BL/Relations/Relation_PanelMaterial_GlobalOTDTable_GlobalOTDTable_PanelMaterial.qbl b/_Main/BL/Relations/Relation_PanelMaterial_GlobalOTDTable_GlobalOTDTable_PanelMaterial.qbl deleted file mode 100644 index 60dc422..0000000 --- a/_Main/BL/Relations/Relation_PanelMaterial_GlobalOTDTable_GlobalOTDTable_PanelMaterial.qbl +++ /dev/null @@ -1,23 +0,0 @@ -Quintiq file version 2.0 -#parent: #root -Relation PanelMaterial_GlobalOTDTable_GlobalOTDTable_PanelMaterial -{ - #keys: '1[414702.0.155921958]' - DefaultRelationStrategy - { - } - RelationSide.LeftSide GlobalOTDTable - { - #keys: '3[414702.0.155921960][414702.0.155921959][414702.0.155921961]' - Cardinality: '0to1' - ObjectDefinition: PanelMaterial - OwningSide: 'Reference' - } - RelationSide.RightSide PanelMaterial - { - #keys: '3[414702.0.155921963][414702.0.155921962][414702.0.155921964]' - Cardinality: '1toN' - ObjectDefinition: GlobalOTDTable - OwningSide: 'Owned' - } -} diff --git a/_Main/BL/Relations/Relation_PanelMaterial_MacroPlan_MacroPlan_PanelMaterial.qbl b/_Main/BL/Relations/Relation_PanelMaterial_MacroPlan_MacroPlan_PanelMaterial.qbl new file mode 100644 index 0000000..fd1e173 --- /dev/null +++ b/_Main/BL/Relations/Relation_PanelMaterial_MacroPlan_MacroPlan_PanelMaterial.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation PanelMaterial_MacroPlan_MacroPlan_PanelMaterial +{ + #keys: '1[414702.0.162969760]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide MacroPlan + { + #keys: '3[414702.0.162969762][414702.0.162969761][414702.0.162969763]' + Cardinality: '0to1' + ObjectDefinition: PanelMaterial + OwningSide: 'Reference' + } + RelationSide.RightSide PanelMaterial + { + #keys: '3[414702.0.162969765][414702.0.162969764][414702.0.162969766]' + Cardinality: '1toN' + ObjectDefinition: MacroPlan + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Type_GlobalDTOTable/Method_RefreshPanelMaterialData.qbl b/_Main/BL/Type_GlobalDTOTable/Method_RefreshPanelMaterialData.qbl index f81023f..6c98026 100644 --- a/_Main/BL/Type_GlobalDTOTable/Method_RefreshPanelMaterialData.qbl +++ b/_Main/BL/Type_GlobalDTOTable/Method_RefreshPanelMaterialData.qbl @@ -10,12 +10,12 @@ traverse ( pto, DependentDemand, dd, true ) { product_MP := dd.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Product_MP(); if ( product_MP.IsPanelMaterial() ) { - this.PanelMaterial( relnew, - PanelModel := product_MP.ID(), - MaterialDescription := product_MP.ID(), - StartDate := dd.Start().Date(), - DemandQuantity := dd.Quantity() - ); + macroPlan.PanelMaterial( relnew, + PanelModel := product_MP.ID(), + MaterialDescription := product_MP.ID(), + StartDate := dd.Start().Date(), + DemandQuantity := dd.Quantity() + ); } } } diff --git a/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_SynchronizeInventoryTargets.qbl b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_SynchronizeInventoryTargets.qbl new file mode 100644 index 0000000..00a686b --- /dev/null +++ b/_Main/BL/Type_MatAttrSettingAndPlanningStrategy/StaticMethod_SynchronizeInventoryTargets.qbl @@ -0,0 +1,35 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod SynchronizeInventoryTargets ( + GlobalOTDTable globalOTDTable, + MacroPlan macroPlan +) +{ + TextBody: + [* + traverse ( globalOTDTable, MatAttrSettingAndPlanStrategy, masaps ) { + hasMaxLevel := masaps.MaximumNumberOfDaysInInventory() <> 0; + product_MP := select( macroPlan, Product_MP, tempPMP, tempPMP.ID() = masaps.MatCode() ); + if ( not isnull( product_MP ) ) { + traverse ( product_MP, ProductInStockingPoint_MP, pispmp ) { + InventorySpecification::Create( product_MP, + pispmp.StockingPoint_MP(), + macroPlan.StartOfPlanning().Date(), + false, + 0.0, + 0.0, + true, + [Real]masaps.MinimumNumberOfDaysInStock(), + 0.0, + hasMaxLevel, + true, + [Real]masaps.MaximumNumberOfDaysInInventory(), + 0.0, + false, + false + ); + } + } + } + *] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Method_Edit.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Method_Edit.def index 1ae7777..5a8abdf 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Method_Edit.def +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Method_Edit.def @@ -10,7 +10,7 @@ data := shadow( selection ); DataHolderDialogData.Data( &data ); - + info( "hello world" ); ApplicationMacroPlanner.ShowFormModal( this ); *] } diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Method_New.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Method_New.def index 17084d2..7832386 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Method_New.def +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Method_New.def @@ -5,7 +5,7 @@ #keys: '[414702.0.158084611]' Body: [* - panelMaterial := GlobalOTDTable.PanelMaterial( relshadow ); + panelMaterial := MacroPlan.PanelMaterial( relshadow ); DataHolderDialogData.Data( &panelMaterial ); diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Response_pnlActions_btnOk_OnClick.def index f7acc22..555058d 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Response_pnlActions_btnOk_OnClick.def +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Response_pnlActions_btnOk_OnClick.def @@ -16,11 +16,11 @@ data := DataHolderDialogData.Data(); panelMaterial := data.WrappedInstance(); if ( isnull( panelMaterial ) ) { - GlobalOTDTable.PanelMaterial( relnew, - PanelModel := ddslPanelModel.Text(), - MaterialDescription := efMaterialDescription.Text(), - StartDate := dsStartDate.Date(), - DemandQuantity := npDemandQuantity.Number() ); + MacroPlan.PanelMaterial( relnew, + PanelModel := ddslPanelModel.Text(), + MaterialDescription := efMaterialDescription.Text(), + StartDate := dsStartDate.Date(), + DemandQuantity := npDemandQuantity.Number() ); } else { panelMaterial.PanelModel( ddslPanelModel.Text() ); panelMaterial.MaterialDescription( efMaterialDescription.Text() ); diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelMaterialExportAndImport\043136.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelMaterialExportAndImport\043136.def" index 636f952..eb69dc7 100644 --- "a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelMaterialExportAndImport\043136.def" +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Component_PanelMaterialExportAndImport\043136.def" @@ -36,7 +36,6 @@ Image: 'CLOUD_REFRESH' Label: '鍚屾搴撳瓨鐩爣' Taborder: 0 - Visible: false ] } ] diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterialExportAndImport_136_ButtonSynchronizeInventoryTargets_.def b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterialExportAndImport_136_ButtonSynchronizeInventoryTargets_.def index a7731ca..072efb9 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterialExportAndImport_136_ButtonSynchronizeInventoryTargets_.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/Response_PanelMaterialExportAndImport_136_ButtonSynchronizeInventoryTargets_.def @@ -5,11 +5,17 @@ #keys: '[414702.0.141615322]' CanBindMultiple: false DefinitionID: 'Responsedef_WebButton_OnClick' + Precondition: + [* + return not isnull( GlobalOTDTable ) and not isnull( MacroPlan ); + *] QuillAction { Body: [* - WebMessageBox::Success( "鍚屾鎴愬姛", true ); + MatAttrSettingAndPlanStrategy::SynchronizeInventoryTargets( GlobalOTDTable, MacroPlan ); + + WebMessageBox::Success( "搴撳瓨鐩爣鍚屾鎴愬姛", true ); *] GroupServerCalls: false } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_ListData.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_ListData.def index ad2a8b8..1b59d94 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_ListData.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_ListData.def @@ -11,8 +11,8 @@ BaseType: 'WebDataExtractor' Properties: [ - DataType: 'GlobalOTDTable' - Source: 'GlobalOTDTable' + DataType: 'MacroPlan' + Source: 'MacroPlan' Taborder: 0 Transformation: 'PanelMaterial' ] diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_ListData_MenuCreate_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_ListData_MenuCreate_OnClick.def index cb713ad..4e4e76b 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_ListData_MenuCreate_OnClick.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_ListData_MenuCreate_OnClick.def @@ -6,6 +6,10 @@ CanBindMultiple: false DefinitionID => /ListData/Responsedef_ListData_WebMenu_OnClick Initiator: 'MenuCreate' + Precondition: + [* + return not isnull( MacroPlan ); + *] QuillAction { Body: diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_PanelFunctionButtons_ButtonRefresh_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_PanelFunctionButtons_ButtonRefresh_OnClick.def index 9084aa6..7b93559 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_PanelFunctionButtons_ButtonRefresh_OnClick.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_PanelFunctionButtons_ButtonRefresh_OnClick.def @@ -13,7 +13,7 @@ { Body: [* - GlobalOTDTable.PanelMaterial( relflush ); + MacroPlan.PanelMaterial( relflush ); GlobalOTDTable.RefreshPanelMaterialData( MacroPlan ); -- Gitblit v1.9.3