| | |
| | | Description: '车道整班' |
| | | TextBody: |
| | | [* |
| | | traverse ( unit, Lane.LaneLeg.Trip, t ) { |
| | | traverse ( t, ProductInTrip, pit, pit.Quantity() > 0.0 ) { |
| | | info( pit.Product_MP().ParentID() ); |
| | | // 获取产品lotsize倍数 |
| | | lotsize := 1; |
| | | if ( pit.Product_MP().ParentID().Regex( "ZKG" ) ) { |
| | | lotsize := macroPlan.CylinderBlock(); |
| | | } else if ( pit.Product_MP().ParentID().Regex( "ZKM" ) ) { |
| | | lotsize := macroPlan.CylinderHead(); |
| | | } else if ( pit.Product_MP().ParentID().Regex( "PL" ) ) { |
| | | lotsize := macroPlan.ConnectingRod(); |
| | | } else if ( pit.Product_MP().ParentID().Regex( "KW" ) ) { |
| | | lotsize := macroPlan.Crankshaft(); |
| | | } else if ( pit.Product_MP().ParentID().Regex( "AGW" ) ) { |
| | | lotsize := macroPlan.BalanceAxis(); |
| | | } |
| | | |
| | | if ( lotsize > 1 ) { |
| | | debuginfo( "产品ID:", pit.ProductID(), " 产品数量:", pit.Quantity(), " lotsize:", lotsize ); |
| | | quantityToBeSupplemented := lotsize - ( pit.Quantity() mod lotsize ); |
| | | pit.Update( pit.Quantity() + quantityToBeSupplemented, true ); |
| | | us := unit.Name().Tokenize( " " ); |
| | | tmq := select( macroPlan, TransferMinimumQuantity, tempTMQ, tempTMQ.FactoryAbbreviation() = us.Element( 0 ) and tempTMQ.ProductID() = us.Element( 3 ) ); |
| | | |
| | | if ( not isnull( tmq ) ) { |
| | | // info( "最小包装lotsize:", tmq.Quantity() ); |
| | | traverse ( unit, Lane.LaneLeg.Trip, t ) { |
| | | needRoundTransferQuantity := tmq.Quantity() - ( [Number]t.Quantity() mod tmq.Quantity() ); |
| | | if ( needRoundTransferQuantity <> 0 and needRoundTransferQuantity <> tmq.Quantity() ) { |
| | | // info( "时间:", t.Departure().Date().Format( "Y-M2-D2" ), " 余数:", needRoundTransferQuantity ); |
| | | pit := minselect( t, ProductInTrip, tempPIT, tempPIT.Quantity() > 0, tempPIT.Quantity() ); |
| | | pit.Update( pit.Quantity() + needRoundTransferQuantity, true ); |
| | | } |
| | | } |
| | | } |