hongji.li
2023-11-07 192c736b8ac4b2d84cb823ac71f17e507948a5e8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
Quintiq file version 2.0
#parent: #root
Method HideUnitFromClient (
  Boolean ishide
) id:Method_FormSupplyChainOverview_HideUnitFromClient
{
  #keys: '[136682.0.1951844003]'
  Body:
  [*
    //This method will manually hide the node from client when user click to hide without waiting the status to be updated in server, just need to filter current children of current focus data
    nodes := DataHolderNode.Data();
    current := selectset( DataHolderFocusedUnit.Data(), Child.UnitNode, c, true, c.SupplyChainView()= DataHolderSupplyChainView.Data() );
    
    if ( ishide )
    {
      nodes := nodes.Difference( current );
    }
    else
    {
     nodes := nodes.Union( current );
     
     if ( nodes.Size() =0 )
     {
       nodes := current.Copy();  
     }
    }
    
    DataHolderNode.Data( &nodes );
    nodes := DataHolderNode.Data();
    
    //StockingpointEdge
    inputedge := selectset( nodes, Elements.InputStockingPointUnitEdge, edge, true, true );
    outputedge := selectset(  nodes, Elements.OutputStockingPointUnitEdge,edge, true, true );
    edges := inputedge.Union( outputedge );
    DataHolderStockingPointUnitEdge.Data( &edges );
    
    Form.FilterLanelegs();
                        
    /*
    //Laneg edges (Stockingpointnode)
    stockingpointnods := selectset(  nodes, Elements.astype( StockingPointNode ), s, true, true );
    inputlaneleges := selectset(  stockingpointnods, Elements.AsDestinationStockingPoint, origin, true, true );
    outputlaneleges := selectset(  stockingpointnods, Elements.AsOriginStockingPoint, dest, true, true );
    stockingedge := inputlaneleges.Union( outputlaneleges );
    
    //Laneg edges (Unitnode)
    unitnodes := selectset(  nodes, Elements.astype( UnitNode ), s, true, true );
    unitdest := selectset(  unitnodes, Elements.AsDestinationUnit, origin, true, true );
    unitorigin := selectset( unitnodes, Elements.AsOriginUnit, dest, true, true );
    unitedge := unitorigin.Union( unitdest );
    
    nodelanelegeedges := stockingedge.Union( unitedge );
    
    //newlanes := DataHolderLaneLegEdge.Data().Difference( nodelanelegeedges );
    DataHolderLaneLegEdge.Data( &nodelanelegeedges );*/
  *]
}