From 77b8d972800221d19bd0ea7f2a14b720920b16bb Mon Sep 17 00:00:00 2001
From: hongjli <3117313295@qq.com>
Date: 星期三, 11 十月 2023 14:56:11 +0800
Subject: [PATCH] 产能分配优化

---
 _Main/BL/Type_CapacityAllocationResultsRuleConfiguration/StaticMethod_RecursiveGeneration.qbl |   29 +++++++++++++++++++++--------
 1 files changed, 21 insertions(+), 8 deletions(-)

diff --git a/_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/StaticMethod_RecursiveGeneration.qbl b/_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/StaticMethod_RecursiveGeneration.qbl
index 5cbc2aa..e6f6dda 100644
--- a/_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/StaticMethod_RecursiveGeneration.qbl
+++ b/_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/StaticMethod_RecursiveGeneration.qbl
@@ -9,15 +9,28 @@
 {
   TextBody:
   [*
-    operations := selectset( macroPlan, Routing.RoutingStep.Operation, tempO, 
-                             exists( tempO, OperationOutput, tempOO, tempOO.ProductInStockingPoint_MP() = outputPISP ) );
-    
-    traverse ( operations, Elements, o ) {
-      traverse ( o, OperationInput, tempOI ) {
-        inputPISP := tempOI.ProductInStockingPoint_MP();
-        CapacityAllocationResultsRuleConfiguration::RecursiveGeneration( macroPlan, tempOI.ProductInStockingPoint_MP(), firstPISP, startDate );
-        info( "杈撳叆PISP锛�", inputPISP.Name(), "    杈撳嚭PISP锛�", outputPISP.Name(), "    绗竴娆ISP锛�", firstPISP.Name() );
+    traverse ( outputPISP, ProcessOutput.AsProcessOutput, pmp ) {
+      
+      ontype( pmp ) {
+        Operation as o : {  
+          traverse ( o, OperationInput, oi ) {
+            oiPISP := oi.ProductInStockingPoint_MP();
+            CapacityAllocationResultsRuleConfiguration::RecursiveGeneration( macroPlan, oiPISP, firstPISP, startDate );
+            info( "杈撳叆PISP锛�", oiPISP.Name(), "    杈撳嚭PISP锛�", outputPISP.Name(), "    绗竴娆ISP锛�", firstPISP.Name() );
+          }
+        }
+        
+        LaneLeg as ll : {
+          traverse ( ll, LaneLegInput, lli ) {
+            lliPISP := lli.ProductInStockingPoint_MP();
+            if ( lliPISP.ProductID() = outputPISP.ProductID() ) {
+              CapacityAllocationResultsRuleConfiguration::RecursiveGeneration( macroPlan, lliPISP, firstPISP, startDate );
+              info( "杈撳叆PISP锛�", lliPISP.Name(), "    杈撳嚭PISP锛�", outputPISP.Name(), "    绗竴娆ISP锛�", firstPISP.Name() );
+            }
+          }
+        }
       }
+      
     }
   *]
 }

--
Gitblit v1.9.3