陈清红
2025-04-14 880f3c0257eeb8c37761d484258fdd102a369a19
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
Quintiq file version 2.0
#parent: #root
StaticMethod ValidateInput (
  output String feedback,
  MacroPlan owner,
  ChangeLossSetting old,
  Unit unit,
  Product_MP product1,
  Product_MP product2,
  Date startdate,
  Date enddate,
  String number
) as Boolean
{
  TextBody:
  [*
    // 甄兰鸽 Jun-5-2024 (created)
    feedback := '';
    if( [Real]number < 0 ){
      feedback := Translations::MP_ChangeLossSettingExcel_Import_PositiveInteger();
    }
    if( isnull( unit ) or isnull( product1 ) or isnull( product2 ) or [Real]number = 0 ){
      feedback := Translations::MP_ChangeLossSetting_CheckNull();
    }
    if( product1 = product2 ){
      feedback := Translations::MP_ChangeLossSetting_SameProduct();
    }
    if( startdate > enddate ){
      feedback := Translations::MP_LibCal_Event_ValidDatePeriod();
    }
    if( exists( owner, ChangeLossSetting, cls, cls <> old and cls.Unit() = unit and not ( cls.StartDate() > enddate or cls.EndDate() < startdate )
                and cls.ProductFirst() = product1 and cls.ProductSecond() = product2 ) ){
    //            and ( ( cls.ProductFirst() = product1 and cls.ProductSecond() = product2 ) 
    //                  or ( cls.ProductFirst() = product2 and cls.ProductSecond() = product1 ) ) ) ){
      feedback := Translations::MP_ChangeLossSetting_Exist()
    }
    if( exists( owner, ChangeLossSetting, cls, cls <> old and cls.Unit() = unit  and not ( cls.StartDate() > enddate or cls.EndDate() < startdate )
                and cls.ProductFirst() = product1 and cls.ProductSecond() = product2 ) ){
    //            and ( ( cls.ProductFirst() = product1 and cls.ProductSecond() = product2 ) 
    //                  or ( cls.ProductFirst() = product2 and cls.ProductSecond() = product1 ) ) ) ){
      feedback := Translations::MP_ChangeLossSetting_DateCoincide()
    }
    
    return feedback = '';
  *]
}