import at.clockwork.calculation.CalculationData import at.clockwork.calculation.data.* import at.clockwork.calculation.GeneralCalculationData import at.clockwork.time.service.DateTimeService import at.clockwork.calculation.RestartCalculationException import at.clockwork.calculation.* class Calc99902Service { static transactional = false def run(CalculationData calculationData, GeneralCalculationData generalCalculationData, boolean saving, Map parameters) throws RestartCalculationException { if ( ( _cd.getDaySettingAdditionalData( "ZUSN1" ) ?: 0 ) != 0 ) return if ( _cd.yValues[902] > 0 ) return _cd.yValues[902] += 1 for ( TimeBookingPair itTimeBookingPair in _cd.timeBookingPairs ) { if ( !itTimeBookingPair.isValid() ) continue if ( itTimeBookingPair.comingAbsence ) continue if ( itTimeBookingPair.goingAbsence ) continue if ( _dts.getDuration( itTimeBookingPair.coming, itTimeBookingPair.going ) < 2*60 ) continue _cd.deleteTime( itTimeBookingPair.coming, 30, true ) throw new RestartCalculationException(restartCalculation:new RestartCalculation(restart:true)) break } return } } /* ::1:: IF VAR_TE-ZUSN1 != NW_0 FUNC RETURN_ DO ; ::2:: IF YVAR_101 > NW_0 FUNC RETURN_ DO ; ::3:: IF FUNC NW_1 DO =_YVAR_101 ; ::4:: IF FUNC MABUCH2_ANZAHL DO =_XVAR_99 ; ::5:: IF XVAR_99 = NW_0 FUNC RETURN_ DO ; ::6:: IF FUNC MABUCH2_AUFNULL DO ; ::ALPHA:: IF FUNC MABUCH2_VORWAERTS DO ; ::7:: IF MABUCH2_KOMMTFG != NW_0 ODER MABUCH2_GEHTFG != NW_0 FUNC GOTO_ENDESCHL DO ; ::8:: IF FUNC MABUCH2_GEHT - MABUCH2_KOMMT DO =_XVAR_98 ; ::9:: IF XVAR_98 < ZT_2:00 FUNC GOTO_ENDESCHL DO ; ::10:: // wegen Auffüllen nach 12 Stunden / Erschwerniszulage IF FUNC MABUCH2_KOMMT DO =_ZP_101 ; ::11:: IF FUNC MABUCH2_KOMMT + ZT_0:30 DO =_ZP_102 ; ::12:: IF FUNC FKT_PAUSE1-VON/ZP101 DO ; ::13:: IF FUNC FKT_PAUSE1-BIS/ZP102 DO ; ::14:: IF FUNC GOTO_ENDE DO ; ::ENDESCHL:: IF MABUCH2_ZEIGER < XVAR_99 FUNC GOTO_ALPHA DO ; ::ENDE:: IF FUNC DO ; ::15:: IF FUNC FKT_NEUBERECHNUNG DO ; */