Er is een nieuwe calculator 'DiscreetHalf' die de helft aanrekent als de nodige afmeting kleiner of gelijk is aan de helft van het halffabrikaat.
Indien vlot te doen mag er ook voor discreet flow rekening gehouden worden met 'uitval vast'
(momenteel is dat niet het geval maar zeker als we met halve latten werken is dat eigenlijk wel nodig).
persistent
1
DOM.PM.Maatwerk.Calc.HF.impl.BewerkingsCalculator
%Integer
1
BrutoAfmetingHalffabrikaat:%Decimal,BrutoPercentage:%Float,BrutoVast:%Float,UitvalPercentage:%Float,UitvalVast:%Float,AantalGedeeltes:%Integer
1
1
%Status
Visitor:DOM.PM.Maatwerk.Calc.HF.BewerkingsCalculatorVisitor
AantalNodig:%Decimal,AfmetingNodig:%Decimal
%Decimal
NettoAfmetingHalffabrikaat) Do ##class(TECH.ExceptionHandler).Throw(##class(DOM.PM.Maatwerk.Calc.HF.impl.CalculatorException).%New("Afmeting nodig ("_AfmetingNodig_") is groter dan lengte van het halffabrikaat ("_NettoAfmetingHalffabrikaat_")"))
#dim AfmetingMetBewerkingsVerlies As %Decimal = ..GeefAfmetingMetBewerkingVerlies(AfmetingNodig,AantalNodig)
#dim AfmetingAangerekend As %Decimal
If (AfmetingMetBewerkingsVerlies > NettoAfmetingHalffabrikaat){
Set AfmetingAangerekend = NettoAfmetingHalffabrikaat
}Else{
#dim NettoAfmetingGedeelte As %Double = ( NettoAfmetingHalffabrikaat / ..AantalGedeeltes )
#dim AantalGedeeltesNodig As %Decimal= ##class(TECH.Math).Ceil((AfmetingMetBewerkingsVerlies/NettoAfmetingGedeelte))
Set AfmetingAangerekend = (AantalGedeeltesNodig*NettoAfmetingGedeelte)
}
Quit AfmetingAangerekend
]]>
AfmetingNodig:%Decimal,AantalNodig:%Decimal,AfmetingAangerekendPerStuk:%Decimal
%Decimal
AfmetingPerGedeelte:%Decimal,AantalNodig:%Decimal
1
%Decimal
NettoAfmetingHalffabrikaat {
Set AfmetingPerGedeelte = NettoAfmetingHalffabrikaat
}
#dim AantalGedeeltesUitEenHalffab As %Integer = ..GeefAantalGedeeltesUitEenHalffab(NettoAfmetingHalffabrikaat,AfmetingPerGedeelte)
Quit (AantalNodig / AantalGedeeltesUitEenHalffab)
]]>
AfmetingHalffabrikaat:%Decimal,AfmetingPerGedeelte:%Decimal
1
%Integer
AfmetingNodig:%Decimal,TotaalNodig:%Decimal
%Decimal
%Integer
AfmetingNodig:%Decimal,AfmetingMetBewerkingsVerlies:%Decimal,NettoAfmetingHalffabrikaat:%Decimal
1
%Boolean
%Library.CacheStorage
DiscreetGedeelteCalculatorDefaultData
listnode
"DiscreetGedeelteCalculator"
AantalGedeeltes