| 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 := "解除锁定" ); | 
|         } | 
|       } | 
|   *] | 
| } |