Quintiq file version 2.0
|
#parent: #root
|
Method MappingUnitData (
|
Strings businesstypes
|
)
|
{
|
Description: 'Get unit data from operation mapping'
|
TextBody:
|
[*
|
// Administrator Aug-21-2023 (created)
|
// list to deal
|
listtodeal := construct( structured[MappingOperation] );
|
|
if( isnull( businesstypes ) or businesstypes.Size() = 0 ) {
|
listtodeal := selectset( this, MappingOperation, item, true );
|
} else {
|
listtodeal := selectset( this, MappingOperation, item,
|
// businesstypes.Find( item.BusinessType() ) <> -1,
|
businesstypes.Difference( businesstypes.Difference( item.BusinessType().Tokenize( ", " ) ) ).Size() > 0
|
);
|
}
|
|
//Set the Default values
|
unitofmeasurename := "PCS";
|
currencyid := "CNY";
|
startdate := Date::Date( 1900, 1, 1 );
|
enddate := Date::Date( 9999, 12, 31 );
|
capacitytype := "Infinite";
|
|
// Get the root data
|
existroot := Unit::FindById( this, "天马集团" );
|
if( isnull( existroot ) ){
|
this.Unit( relnew,
|
ID := "天马集团",
|
Name := "天马集团",
|
UnitOfMeasureName := unitofmeasurename,
|
CurrencyID := currencyid,
|
StartDate := startdate,
|
EndDate := enddate,
|
CapacityType := capacitytype );
|
}
|
|
// Get the sub root data
|
existsubroot := Unit::FindById( this, "生产" );
|
if( isnull( existsubroot ) ){
|
this.Unit( relnew, ID := "生产",
|
Name := "生产",
|
ParentUnitID := "天马集团",
|
UnitOfMeasureName := unitofmeasurename,
|
CurrencyID := currencyid,
|
StartDate := startdate,
|
EndDate := enddate,
|
CapacityType := capacitytype );
|
}
|
|
existsubroot := Unit::FindById( this, "供应商" );
|
if( isnull( existsubroot ) ){
|
this.Unit( relnew, ID := "供应商",
|
Name := "供应商",
|
ParentUnitID := "天马集团",
|
UnitOfMeasureName := unitofmeasurename,
|
CurrencyID := currencyid,
|
StartDate := startdate,
|
EndDate := enddate,
|
CapacityType := capacitytype );
|
}
|
|
existsubroot := Unit::FindById( this, "整车运输" );
|
if( isnull( existsubroot ) ){
|
this.Unit( relnew, ID := "整车运输",
|
Name := "整车运输",
|
ParentUnitID := "天马集团",
|
UnitOfMeasureName := unitofmeasurename,
|
CurrencyID := currencyid,
|
StartDate := startdate,
|
EndDate := enddate,
|
CapacityType := capacitytype );
|
}
|
|
// Get the unit list
|
traverse( listtodeal, Elements, item){
|
//Get the first level unit
|
existfirstlevelunit := Unit::FindById( this, item.OrganCode() );
|
// info( item.OrganCode().AsQUILL() );
|
OrgName := item.OrganName();
|
if( OrgName = ''){
|
OrgName := item.OrganCode();
|
}
|
if( isnull( existfirstlevelunit ) ){
|
this.Unit( relnew, ID := item.OrganCode(),
|
// Name := item.OrganName(),
|
Name :=OrgName,
|
ParentUnitID := "生产",
|
UnitOfMeasureName := unitofmeasurename,
|
CurrencyID := currencyid,
|
StartDate := startdate,
|
EndDate := enddate,
|
CapacityType := capacitytype );
|
}
|
//Get the second level unit
|
secondlevelid := item.OrganCode() + "_" + item.PlantName();
|
// info( secondlevelid.AsQUILL() );
|
existsecondlevelunit := Unit::FindById( this, secondlevelid );
|
if( isnull( existsecondlevelunit ) ){
|
this.Unit( relnew, ID := secondlevelid,
|
Name := secondlevelid,
|
ParentUnitID := item.OrganCode(),
|
UnitOfMeasureName := unitofmeasurename,
|
CurrencyID := currencyid,
|
StartDate := startdate,
|
EndDate := enddate,
|
CapacityType := capacitytype );
|
}
|
//Get the third level unit
|
thirdlevelid := secondlevelid + "_" + item.ProcessSection();
|
// info( thirdlevelid.AsQUILL() );
|
existthirdlevelunit := Unit::FindById( this, thirdlevelid );
|
if( isnull( existthirdlevelunit ) ){
|
this.Unit( relnew, ID := thirdlevelid,
|
Name := thirdlevelid,
|
ParentUnitID := secondlevelid,
|
CapacityType := "Time",
|
UnitOfMeasureName := item.UnitOfMeasureName(),
|
CurrencyID := currencyid,
|
StartDate := startdate,
|
EndDate := enddate );
|
}
|
//Get the last level unit
|
if( item.Line()<>"" ){
|
lastlevelid := thirdlevelid + "_" + item.Line();
|
// info( lastlevelid.AsQUILL() );
|
existlastlevelunit := Unit::FindById( this, lastlevelid );
|
if( isnull( existlastlevelunit ) ){
|
this.Unit( relnew, ID := lastlevelid,
|
Name := lastlevelid,
|
ParentUnitID := thirdlevelid,
|
CapacityType := "Time",
|
UnitOfMeasureName := item.UnitOfMeasureName(),
|
CurrencyID := currencyid,
|
StartDate := startdate,
|
EndDate := enddate );
|
}
|
}
|
}
|
*]
|
}
|