| | |
| | | #parent: #root |
| | | StaticMethod ThermalTrialRatio ( |
| | | Routing routing, |
| | | Unit unit, |
| | | Number capacity, |
| | | Date start, |
| | | Date end, |
| | |
| | | TextBody: |
| | | [* |
| | | // Adhi Feb-10-2016 (created) |
| | | thermaltrial := '热式'; |
| | | thermaltrial := Unit::GetThermalTrial(); |
| | | newroutings := construct( Routings ); |
| | | unit := selectobject( routing.MacroPlan(), Unit, unit, unit.ID() = thermaltrial and unit.HasCapacityTypeQuantity() ); |
| | | |
| | | for( starttime := start; starttime <= end; starttime := starttime + 1 ){ |
| | | uc := selectobject( unit, UnitCapacity, uc, uc.Start().Date() = starttime ); |
| | | if( isnull( uc ) ){ |
| | | uc := UnitCapacity::Create( unit, starttime.DateTime(), 'Day', 0.0, [Real]capacity, 100.0, 1, false ); |
| | | } |
| | | uc.MaxCapacity( [Real]capacity * ratio ); |
| | | } |
| | | |
| | | newrouting := routing.Copy(); |
| | | name := newrouting.Name().ReplaceAll( 'Copy', thermaltrial ); |
| | | newrouting.Name( name ); |
| | | newrouting.UpdateTypeIndex( name ); |
| | | routing.Start( start ); |
| | | routing.End( end ); |
| | | |
| | | routingstep := newrouting.LastStep(); |
| | | //info( '------------------', routingstep.Tool(), ',', unit.ID() ); |
| | | newroutingstep := RoutingStep::Create( newrouting, thermaltrial, routingstep.Tool(), false ); |