From 10205cf5f6128541532f909e0aa078a960623c67 Mon Sep 17 00:00:00 2001
From: yanweiyuan3 <yanweiyuan3@gmail.com>
Date: 星期四, 21 九月 2023 16:43:15 +0800
Subject: [PATCH] Finish Order Lock

---
 _Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_ButtonOrderLockHeaderLock_OnClick.def |   21 ++++++++++++++++++++-
 1 files changed, 20 insertions(+), 1 deletions(-)

diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_ButtonOrderLockHeaderLock_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_ButtonOrderLockHeaderLock_OnClick.def
index f382d3a..97a5fce 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_ButtonOrderLockHeaderLock_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_ButtonOrderLockHeaderLock_OnClick.def
@@ -5,14 +5,33 @@
   #keys: '[412960.0.245380616]'
   DefinitionID: 'Responsedef_WebButton_OnClick'
   GroupServerCalls: true
+  Precondition:
+  [*
+    checkorders := DataHolderOrderLockCheckedOrder.Data();
+    pispips := construct( ProductInStockingPointInPeriods );
+    traverse( checkorders, Elements, order ){
+      pispips.Add( selectset( order, ProductInStockingPoint_MP.ProductInStockingPointInPeriod, pispip, true ) );
+      }
+    return ProductInStockingPointInPeriod::CanLockUnlock( pispips, feedback );
+  *]
   QuillAction
   {
     Body:
     [*
       checkorders := DataHolderOrderLockCheckedOrder.Data();
+      pispips := construct( ProductInStockingPointInPeriods );
+      macroplan := MacroPlan;
       traverse( checkorders, Elements, order ){
-        info( order.ProductID() );
+        pispips.Add( selectset( order, ProductInStockingPoint_MP.ProductInStockingPointInPeriod, pispip, true ) );
         }
+      
+      pispipLeafs := selectset( pispips, 
+                                Elements.astype( ProductInStockingPointInPeriodPlanningLeaf ), 
+                                pispip, 
+                                true );
+      
+      CustomerOrder::LockUnlock( macroplan, checkorders, true );
+      ProductInStockingPointInPeriod::LockUnlockPlanning( pispipLeafs, true, true );
     *]
   }
 }

--
Gitblit v1.9.3