yanweiyuan3
2023-08-09 588bc7829387dfc761cc25f06f77d4c81818bd10
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Quintiq file version 2.0
#parent: #root
FunctionOverride CalcHasUserCreatedSupply
{
  TextBody:
  [*
    /* 
    (2) This condition is checking if the number of processoutput of the PISP is equal to the number newSupply of the PISPIP. In the case that the user
    add a new process for the PISP, this new process will not have a newSupply and HasUserCreatedSupply will be false -> PISP planningCell not lock.
    (3) Checking if all the newSupply of the PISP are locked.
    */
    value := this.HasProductionSupply()                                                                
             and this.ProductInStockingPoint_MP().ProcessOutput( relsize ) = this.NewSupply( relsize ) // (2)
             and( forallexists( this, NewSupply, ns, ns.GetHasUserQuantity() )                         // (3)
                  or this.HasTotalSupplyUser() 
                );
    this.HasUserCreatedSupply( value );
  *]
}