From 4f94ad9cd6bd7355017c88cdc8bdb67498d5410c Mon Sep 17 00:00:00 2001 From: xiaoding721 <33130084+xiaoding721@users.noreply.github.com> Date: 星期一, 11 十一月 2024 12:43:24 +0800 Subject: [PATCH] 修复一些班次计划下发的bug --- _Main/BL/Type_DispatchShiftPlan/StaticMethod_Dispatch.qbl | 10 ++-------- _Main/BL/Type_DispatchShiftSchedulingInformation/StaticMethod_GenerateDispatchData.qbl | 8 +------- _Main/BL/Type_Test/StaticMethod_Test.qbl | 6 ++---- _Main/BL/Type_LocalTool/StaticMethod_GetFactoryByUnit.qbl | 26 ++++++++++++++++++++++++++ 4 files changed, 31 insertions(+), 19 deletions(-) diff --git a/_Main/BL/Type_DispatchShiftPlan/StaticMethod_Dispatch.qbl b/_Main/BL/Type_DispatchShiftPlan/StaticMethod_Dispatch.qbl index fd802d5..ec03621 100644 --- a/_Main/BL/Type_DispatchShiftPlan/StaticMethod_Dispatch.qbl +++ b/_Main/BL/Type_DispatchShiftPlan/StaticMethod_Dispatch.qbl @@ -38,14 +38,8 @@ now := DateTime::Now(); macroPlanName := macroPlan.MDSMacroPlan().Description(); traverse( macroPlan,Unit.UnitPeriod.astype( UnitPeriodTime ).ShiftPlan,shiftPlan ,shiftPlan.UnitPeriodTime().Period_MP().StartDate() >= macroPlan.StartOfPlanning().Date()){ - factory := shiftPlan.UnitPeriodTime().Unit(); - while( factory.HasParent() ){ - temp1 := factory; - factory := factory.Parent(); - if( not factory.HasParent() ){ - factory := temp1; - } - } + factory := LocalTool::GetFactoryByUnit( shiftPlan.UnitPeriodTime().Unit() ); + productLine := shiftPlan.UnitPeriodTime().Unit().ID(); shiftDate := shiftPlan.UnitPeriodTime().Period_MP().StartDate(); factoryName := factory.ID(); diff --git a/_Main/BL/Type_DispatchShiftSchedulingInformation/StaticMethod_GenerateDispatchData.qbl b/_Main/BL/Type_DispatchShiftSchedulingInformation/StaticMethod_GenerateDispatchData.qbl index cc5744c..9da63db 100644 --- a/_Main/BL/Type_DispatchShiftSchedulingInformation/StaticMethod_GenerateDispatchData.qbl +++ b/_Main/BL/Type_DispatchShiftSchedulingInformation/StaticMethod_GenerateDispatchData.qbl @@ -46,13 +46,7 @@ unitIndex := guard( unitIndexTree.Root().Child( unitHandle ), null( NamedValue )); if( not isnull( unitIndex )){ unit := units.Element( unitIndex.GetValueAsNumber() ); - temp1 := unit; - temp2 := unit.Parent(); - while( not isnull( temp1.Parent())){ - temp2 := temp1; - temp1 := temp1.Parent(); - } - factory := temp2; + factory := LocalTool::GetFactoryByUnit( unit ); } } diff --git a/_Main/BL/Type_LocalTool/StaticMethod_GetFactoryByUnit.qbl b/_Main/BL/Type_LocalTool/StaticMethod_GetFactoryByUnit.qbl new file mode 100644 index 0000000..66b05c8 --- /dev/null +++ b/_Main/BL/Type_LocalTool/StaticMethod_GetFactoryByUnit.qbl @@ -0,0 +1,26 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GetFactoryByUnit ( + const Unit unit +) const as const Unit +{ + TextBody: + [* + // Akari Nov-11-2024 (created) + factory := constnull( Unit ); + + if( isnull( unit ) or isnull( unit.Parent())){ + factory := unit; + }else{ + temp1 := unit; + temp2 := unit.Parent(); + while( not isnull( temp1.Parent())){ + temp2 := temp1; + temp1 := temp1.Parent(); + } + factory := temp2; + } + + return factory; + *] +} diff --git a/_Main/BL/Type_Test/StaticMethod_Test.qbl b/_Main/BL/Type_Test/StaticMethod_Test.qbl index 389d1dc..ea55e75 100644 --- a/_Main/BL/Type_Test/StaticMethod_Test.qbl +++ b/_Main/BL/Type_Test/StaticMethod_Test.qbl @@ -11,10 +11,8 @@ { TextBody: [* - traverse( archive,ArchiveFile,object ){ - // object.Name(); - // object.FilePath(); - // object.SourceFileBinaryValue(); + traverse( macroPlan,Unit,unit ){ + info( LocalTool::GetFactoryByUnit( unit ).ID() ); } *] } -- Gitblit v1.9.3