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