From 8f414e196442dbb14aa4a7362ff5398c883e1fbb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Henke?= Date: Thu, 4 Jan 2024 11:58:03 +0100 Subject: [PATCH] further time calculation optimization --- build.gradle | 2 +- .../db/done/tables/TRequiredWorktime.java | 19 ++++--- .../records/TRequiredWorktimeRecord.java | 57 +++++++++++++++---- src/main/resources/done_ext.sql | 10 ++-- 4 files changed, 65 insertions(+), 23 deletions(-) diff --git a/build.gradle b/build.gradle index 2a4e2d7..eb30e17 100644 --- a/build.gradle +++ b/build.gradle @@ -23,7 +23,7 @@ apply plugin: 'maven-publish' apply plugin: 'eclipse' group = 'de.jottyfan' -version = '20240104' +version = '20240104b' def artifactId = 'timetrackjooq' def versionNumber = version diff --git a/src/main/java/de/jottyfan/timetrack/db/done/tables/TRequiredWorktime.java b/src/main/java/de/jottyfan/timetrack/db/done/tables/TRequiredWorktime.java index ebd198e..7a0b089 100644 --- a/src/main/java/de/jottyfan/timetrack/db/done/tables/TRequiredWorktime.java +++ b/src/main/java/de/jottyfan/timetrack/db/done/tables/TRequiredWorktime.java @@ -17,12 +17,12 @@ import java.util.function.Function; import org.jooq.Field; import org.jooq.ForeignKey; -import org.jooq.Function4; +import org.jooq.Function5; import org.jooq.Identity; import org.jooq.Name; import org.jooq.Record; import org.jooq.Records; -import org.jooq.Row4; +import org.jooq.Row5; import org.jooq.Schema; import org.jooq.SelectField; import org.jooq.Table; @@ -75,6 +75,11 @@ public class TRequiredWorktime extends TableImpl { */ public final TableField FK_LOGIN = createField(DSL.name("fk_login"), SQLDataType.INTEGER.nullable(false), this, ""); + /** + * The column done.t_required_worktime.required_minutes. + */ + public final TableField REQUIRED_MINUTES = createField(DSL.name("required_minutes"), SQLDataType.INTEGER.nullable(false).defaultValue(DSL.field(DSL.raw("480"), SQLDataType.INTEGER)), this, ""); + private TRequiredWorktime(Name alias, Table aliased) { this(alias, aliased, null); } @@ -185,18 +190,18 @@ public class TRequiredWorktime extends TableImpl { } // ------------------------------------------------------------------------- - // Row4 type methods + // Row5 type methods // ------------------------------------------------------------------------- @Override - public Row4 fieldsRow() { - return (Row4) super.fieldsRow(); + public Row5 fieldsRow() { + return (Row5) super.fieldsRow(); } /** * Convenience mapping calling {@link SelectField#convertFrom(Function)}. */ - public SelectField mapping(Function4 from) { + public SelectField mapping(Function5 from) { return convertFrom(Records.mapping(from)); } @@ -204,7 +209,7 @@ public class TRequiredWorktime extends TableImpl { * Convenience mapping calling {@link SelectField#convertFrom(Class, * Function)}. */ - public SelectField mapping(Class toType, Function4 from) { + public SelectField mapping(Class toType, Function5 from) { return convertFrom(toType, Records.mapping(from)); } } diff --git a/src/main/java/de/jottyfan/timetrack/db/done/tables/records/TRequiredWorktimeRecord.java b/src/main/java/de/jottyfan/timetrack/db/done/tables/records/TRequiredWorktimeRecord.java index c982f9f..f5a365e 100644 --- a/src/main/java/de/jottyfan/timetrack/db/done/tables/records/TRequiredWorktimeRecord.java +++ b/src/main/java/de/jottyfan/timetrack/db/done/tables/records/TRequiredWorktimeRecord.java @@ -11,8 +11,8 @@ import java.time.LocalTime; import org.jooq.Field; import org.jooq.Record1; -import org.jooq.Record4; -import org.jooq.Row4; +import org.jooq.Record5; +import org.jooq.Row5; import org.jooq.impl.UpdatableRecordImpl; @@ -20,7 +20,7 @@ import org.jooq.impl.UpdatableRecordImpl; * This class is generated by jOOQ. */ @SuppressWarnings({ "all", "unchecked", "rawtypes" }) -public class TRequiredWorktimeRecord extends UpdatableRecordImpl implements Record4 { +public class TRequiredWorktimeRecord extends UpdatableRecordImpl implements Record5 { private static final long serialVersionUID = 1L; @@ -80,6 +80,20 @@ public class TRequiredWorktimeRecord extends UpdatableRecordImpldone.t_required_worktime.required_minutes. + */ + public void setRequiredMinutes(Integer value) { + set(4, value); + } + + /** + * Getter for done.t_required_worktime.required_minutes. + */ + public Integer getRequiredMinutes() { + return (Integer) get(4); + } + // ------------------------------------------------------------------------- // Primary key information // ------------------------------------------------------------------------- @@ -90,17 +104,17 @@ public class TRequiredWorktimeRecord extends UpdatableRecordImpl fieldsRow() { - return (Row4) super.fieldsRow(); + public Row5 fieldsRow() { + return (Row5) super.fieldsRow(); } @Override - public Row4 valuesRow() { - return (Row4) super.valuesRow(); + public Row5 valuesRow() { + return (Row5) super.valuesRow(); } @Override @@ -123,6 +137,11 @@ public class TRequiredWorktimeRecord extends UpdatableRecordImpl field5() { + return TRequiredWorktime.T_REQUIRED_WORKTIME.REQUIRED_MINUTES; + } + @Override public Integer component1() { return getPkRequiredWorktime(); @@ -143,6 +162,11 @@ public class TRequiredWorktimeRecord extends UpdatableRecordImpl r.required_minutes), min(d.daytime_from), max(d.daytime_until) from done.v_daylimit d left join done.t_required_worktime r on r.day = d.day and r.fk_login = d.fk_login - group by d.day, d.fk_login, r.required + group by d.day, d.fk_login, r.required_minutes ) select day, starttime, endtime, dayworktime as worktime, endtime - starttime - dayworktime as breaktime, dayworktime - required as day_overtime, fk_login