Quintiq file version 2.0
|
#parent: #root
|
Method MappingOperationCostData (
|
Strings businesstypes
|
)
|
{
|
Description: 'Get operation cost 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 );
|
//}
|
//
|
//// Get the list to deal with max sequence number
|
//listtodealwithmaxsn := construct( structured[MappingOperation] );
|
//traverse( listtodeal, Elements, item ){
|
// maxsn := maxselect( this,
|
// MappingOperation,
|
// moperation,
|
// moperation.OrganCode() = item.OrganCode(),
|
// moperation.ProductID() = item.ProductID(),
|
// moperation.SequenceNumber() ).SequenceNumber()
|
// if( item.SequenceNumber() = maxsn ){
|
// listtodealwithmaxsn.Add( item );
|
// }
|
// }
|
//
|
//totalcount := listtodealwithmaxsn.Size();
|
//info( "OperationCost has " + totalcount.AsQUILL() + " rows in total" );
|
//
|
//count := 0;
|
//// Get the operation cost data
|
//traverse( listtodealwithmaxsn, Elements, item ){
|
// count := count + 1;
|
// if( count - [Number](count/100) * 100 = 0 or count = totalcount ){
|
// info( "Now is dealing with the " + count.AsQUILL() + "OperationCost " + "( " + count.AsQUILL() + "/" + totalcount.AsQUILL() + " ) " + (count/totalcount*100).Round( 1 ).AsQUILL() + "%" );
|
// }
|
// id := item.OrganCode() + "_" + item.ProductID() + "_" + item.ProcessSection() + "_" + item.Line();
|
// operation := Operation::FindOperationTypeIndex( id );
|
// account := Account_MP::FindByName( this, "Operation cost" );
|
// isfromdb := false;
|
// existoperationcost := OperationCost::FindOperationCostTypeIndex( id );
|
// if( isnull( existoperationcost ) ){
|
// connecteditem := select( this,
|
// MappingOperationCost,
|
// moperationcost,
|
// moperationcost.OrgCode() = item.OrganCode(),
|
// moperationcost.ProductID() = item.ProductID() );
|
// cost := connecteditem.Cost();
|
// lengthoftime := connecteditem.LengthOfTime();
|
// start := connecteditem.Start();
|
// timeunit := connecteditem.TimeUnit();
|
// OperationCost::Create( id, operation, account, "Volume", start, timeunit, lengthoftime, cost, isfromdb );
|
// }
|
// }
|
*]
|
}
|