Quintiq file version 2.0 
 | 
#parent: #root 
 | 
StaticMethod LockUnlock ( 
 | 
  MacroPlan owner, 
 | 
  CustomerOrders customerorders, 
 | 
  Boolean lock 
 | 
) 
 | 
{ 
 | 
  Description: '锁定/解锁订单' 
 | 
  TextBody: 
 | 
  [* 
 | 
    // Administrator Sep-21-2023 (created) 
 | 
    lastmodifytime := DateTime::ActualTime(); 
 | 
    lastmodify := QuintiqUser::CurrentUser().Username(); 
 | 
    if( lock ){ 
 | 
      traverse( customerorders, Elements, order ){ 
 | 
        order.IsLocked( lock ); 
 | 
        order.LastModify( lastmodify ); 
 | 
        order.LastModifyTime( lastmodifytime ); 
 | 
        owner.OrderLockLog( relnew,  
 | 
                            CustomerName := order.CustomerName(),  
 | 
                            End := order.First().AsPlanningBaseSalesDemandInPeriod().End().Date(),  
 | 
                            EndDate := order.StartDate(),  
 | 
                            IsLocked := order.IsLocked(),  
 | 
                            LastModify := order.LastModify(),  
 | 
                            LastModifyTime := order.LastModifyTime(),  
 | 
                            OrderID := order.OrderID(),  
 | 
                            Price := order.Price(),  
 | 
                            ProductID := order.ProductID(),  
 | 
                            Quantity := order.Quantity(),  
 | 
                            SalesSegmentName := order.SalesSegmentName(),  
 | 
                            StockingPointID := order.StockingPointID(),  
 | 
                            UnitOfMeasureName := order.UnitOfMeasureName(),  
 | 
                            Notes := "添加锁定" ); 
 | 
        } 
 | 
      }else{ 
 | 
        traverse( customerorders, Elements, order ){ 
 | 
          order.IsLocked( lock ); 
 | 
          order.LastModify( lastmodify ); 
 | 
          order.LastModifyTime( lastmodifytime ); 
 | 
          owner.OrderLockLog( relnew,  
 | 
                              CustomerName := order.CustomerName(),  
 | 
                              End := order.First().AsPlanningBaseSalesDemandInPeriod().End().Date(),  
 | 
                              EndDate := order.StartDate(),  
 | 
                              IsLocked := order.IsLocked(),  
 | 
                              LastModify := order.LastModify(),  
 | 
                              LastModifyTime := order.LastModifyTime(),  
 | 
                              OrderID := order.OrderID(),  
 | 
                              Price := order.Price(),  
 | 
                              ProductID := order.ProductID(),  
 | 
                              Quantity := order.Quantity(),  
 | 
                              SalesSegmentName := order.SalesSegmentName(),  
 | 
                              StockingPointID := order.StockingPointID(),  
 | 
                              UnitOfMeasureName := order.UnitOfMeasureName(),  
 | 
                              Notes := "解除锁定" ); 
 | 
        } 
 | 
      } 
 | 
  *] 
 | 
} 
 |