added start and end time

This commit is contained in:
Jörg Henke
2024-01-03 17:09:04 +01:00
parent 677a8737fa
commit e52affc382
4 changed files with 134 additions and 47 deletions

View File

@ -23,7 +23,7 @@ apply plugin: 'maven-publish'
apply plugin: 'eclipse' apply plugin: 'eclipse'
group = 'de.jottyfan' group = 'de.jottyfan'
version = '20240103c' version = '20240103d'
def artifactId = 'timetrackjooq' def artifactId = 'timetrackjooq'
def versionNumber = version def versionNumber = version

View File

@ -8,15 +8,16 @@ import de.jottyfan.timetrack.db.done.Done;
import de.jottyfan.timetrack.db.done.tables.records.VDayRecord; import de.jottyfan.timetrack.db.done.tables.records.VDayRecord;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalTime;
import java.util.function.Function; import java.util.function.Function;
import org.jooq.Field; import org.jooq.Field;
import org.jooq.ForeignKey; import org.jooq.ForeignKey;
import org.jooq.Function5; import org.jooq.Function7;
import org.jooq.Name; import org.jooq.Name;
import org.jooq.Record; import org.jooq.Record;
import org.jooq.Records; import org.jooq.Records;
import org.jooq.Row5; import org.jooq.Row7;
import org.jooq.Schema; import org.jooq.Schema;
import org.jooq.SelectField; import org.jooq.SelectField;
import org.jooq.Table; import org.jooq.Table;
@ -54,6 +55,16 @@ public class VDay extends TableImpl<VDayRecord> {
*/ */
public final TableField<VDayRecord, LocalDate> DAY = createField(DSL.name("day"), SQLDataType.LOCALDATE, this, ""); public final TableField<VDayRecord, LocalDate> DAY = createField(DSL.name("day"), SQLDataType.LOCALDATE, this, "");
/**
* The column <code>done.v_day.starttime</code>.
*/
public final TableField<VDayRecord, LocalTime> STARTTIME = createField(DSL.name("starttime"), SQLDataType.LOCALTIME(6), this, "");
/**
* The column <code>done.v_day.endtime</code>.
*/
public final TableField<VDayRecord, LocalTime> ENDTIME = createField(DSL.name("endtime"), SQLDataType.LOCALTIME(6), this, "");
/** /**
* The column <code>done.v_day.worktime</code>. * The column <code>done.v_day.worktime</code>.
*/ */
@ -152,18 +163,18 @@ public class VDay extends TableImpl<VDayRecord> {
} }
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
// Row5 type methods // Row7 type methods
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
@Override @Override
public Row5<LocalDate, YearToSecond, YearToSecond, YearToSecond, Integer> fieldsRow() { public Row7<LocalDate, LocalTime, LocalTime, YearToSecond, YearToSecond, YearToSecond, Integer> fieldsRow() {
return (Row5) super.fieldsRow(); return (Row7) super.fieldsRow();
} }
/** /**
* Convenience mapping calling {@link SelectField#convertFrom(Function)}. * Convenience mapping calling {@link SelectField#convertFrom(Function)}.
*/ */
public <U> SelectField<U> mapping(Function5<? super LocalDate, ? super YearToSecond, ? super YearToSecond, ? super YearToSecond, ? super Integer, ? extends U> from) { public <U> SelectField<U> mapping(Function7<? super LocalDate, ? super LocalTime, ? super LocalTime, ? super YearToSecond, ? super YearToSecond, ? super YearToSecond, ? super Integer, ? extends U> from) {
return convertFrom(Records.mapping(from)); return convertFrom(Records.mapping(from));
} }
@ -171,7 +182,7 @@ public class VDay extends TableImpl<VDayRecord> {
* Convenience mapping calling {@link SelectField#convertFrom(Class, * Convenience mapping calling {@link SelectField#convertFrom(Class,
* Function)}. * Function)}.
*/ */
public <U> SelectField<U> mapping(Class<U> toType, Function5<? super LocalDate, ? super YearToSecond, ? super YearToSecond, ? super YearToSecond, ? super Integer, ? extends U> from) { public <U> SelectField<U> mapping(Class<U> toType, Function7<? super LocalDate, ? super LocalTime, ? super LocalTime, ? super YearToSecond, ? super YearToSecond, ? super YearToSecond, ? super Integer, ? extends U> from) {
return convertFrom(toType, Records.mapping(from)); return convertFrom(toType, Records.mapping(from));
} }
} }

View File

@ -7,10 +7,11 @@ package de.jottyfan.timetrack.db.done.tables.records;
import de.jottyfan.timetrack.db.done.tables.VDay; import de.jottyfan.timetrack.db.done.tables.VDay;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalTime;
import org.jooq.Field; import org.jooq.Field;
import org.jooq.Record5; import org.jooq.Record7;
import org.jooq.Row5; import org.jooq.Row7;
import org.jooq.impl.TableRecordImpl; import org.jooq.impl.TableRecordImpl;
import org.jooq.types.YearToSecond; import org.jooq.types.YearToSecond;
@ -19,7 +20,7 @@ import org.jooq.types.YearToSecond;
* This class is generated by jOOQ. * This class is generated by jOOQ.
*/ */
@SuppressWarnings({ "all", "unchecked", "rawtypes" }) @SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class VDayRecord extends TableRecordImpl<VDayRecord> implements Record5<LocalDate, YearToSecond, YearToSecond, YearToSecond, Integer> { public class VDayRecord extends TableRecordImpl<VDayRecord> implements Record7<LocalDate, LocalTime, LocalTime, YearToSecond, YearToSecond, YearToSecond, Integer> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ -37,74 +38,102 @@ public class VDayRecord extends TableRecordImpl<VDayRecord> implements Record5<L
return (LocalDate) get(0); return (LocalDate) get(0);
} }
/**
* Setter for <code>done.v_day.starttime</code>.
*/
public void setStarttime(LocalTime value) {
set(1, value);
}
/**
* Getter for <code>done.v_day.starttime</code>.
*/
public LocalTime getStarttime() {
return (LocalTime) get(1);
}
/**
* Setter for <code>done.v_day.endtime</code>.
*/
public void setEndtime(LocalTime value) {
set(2, value);
}
/**
* Getter for <code>done.v_day.endtime</code>.
*/
public LocalTime getEndtime() {
return (LocalTime) get(2);
}
/** /**
* Setter for <code>done.v_day.worktime</code>. * Setter for <code>done.v_day.worktime</code>.
*/ */
public void setWorktime(YearToSecond value) { public void setWorktime(YearToSecond value) {
set(1, value); set(3, value);
} }
/** /**
* Getter for <code>done.v_day.worktime</code>. * Getter for <code>done.v_day.worktime</code>.
*/ */
public YearToSecond getWorktime() { public YearToSecond getWorktime() {
return (YearToSecond) get(1); return (YearToSecond) get(3);
} }
/** /**
* Setter for <code>done.v_day.breaktime</code>. * Setter for <code>done.v_day.breaktime</code>.
*/ */
public void setBreaktime(YearToSecond value) { public void setBreaktime(YearToSecond value) {
set(2, value); set(4, value);
} }
/** /**
* Getter for <code>done.v_day.breaktime</code>. * Getter for <code>done.v_day.breaktime</code>.
*/ */
public YearToSecond getBreaktime() { public YearToSecond getBreaktime() {
return (YearToSecond) get(2); return (YearToSecond) get(4);
} }
/** /**
* Setter for <code>done.v_day.day_overtime</code>. * Setter for <code>done.v_day.day_overtime</code>.
*/ */
public void setDayOvertime(YearToSecond value) { public void setDayOvertime(YearToSecond value) {
set(3, value); set(5, value);
} }
/** /**
* Getter for <code>done.v_day.day_overtime</code>. * Getter for <code>done.v_day.day_overtime</code>.
*/ */
public YearToSecond getDayOvertime() { public YearToSecond getDayOvertime() {
return (YearToSecond) get(3); return (YearToSecond) get(5);
} }
/** /**
* Setter for <code>done.v_day.fk_login</code>. * Setter for <code>done.v_day.fk_login</code>.
*/ */
public void setFkLogin(Integer value) { public void setFkLogin(Integer value) {
set(4, value); set(6, value);
} }
/** /**
* Getter for <code>done.v_day.fk_login</code>. * Getter for <code>done.v_day.fk_login</code>.
*/ */
public Integer getFkLogin() { public Integer getFkLogin() {
return (Integer) get(4); return (Integer) get(6);
} }
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
// Record5 type implementation // Record7 type implementation
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
@Override @Override
public Row5<LocalDate, YearToSecond, YearToSecond, YearToSecond, Integer> fieldsRow() { public Row7<LocalDate, LocalTime, LocalTime, YearToSecond, YearToSecond, YearToSecond, Integer> fieldsRow() {
return (Row5) super.fieldsRow(); return (Row7) super.fieldsRow();
} }
@Override @Override
public Row5<LocalDate, YearToSecond, YearToSecond, YearToSecond, Integer> valuesRow() { public Row7<LocalDate, LocalTime, LocalTime, YearToSecond, YearToSecond, YearToSecond, Integer> valuesRow() {
return (Row5) super.valuesRow(); return (Row7) super.valuesRow();
} }
@Override @Override
@ -113,22 +142,32 @@ public class VDayRecord extends TableRecordImpl<VDayRecord> implements Record5<L
} }
@Override @Override
public Field<YearToSecond> field2() { public Field<LocalTime> field2() {
return VDay.V_DAY.WORKTIME; return VDay.V_DAY.STARTTIME;
} }
@Override @Override
public Field<YearToSecond> field3() { public Field<LocalTime> field3() {
return VDay.V_DAY.BREAKTIME; return VDay.V_DAY.ENDTIME;
} }
@Override @Override
public Field<YearToSecond> field4() { public Field<YearToSecond> field4() {
return VDay.V_DAY.WORKTIME;
}
@Override
public Field<YearToSecond> field5() {
return VDay.V_DAY.BREAKTIME;
}
@Override
public Field<YearToSecond> field6() {
return VDay.V_DAY.DAY_OVERTIME; return VDay.V_DAY.DAY_OVERTIME;
} }
@Override @Override
public Field<Integer> field5() { public Field<Integer> field7() {
return VDay.V_DAY.FK_LOGIN; return VDay.V_DAY.FK_LOGIN;
} }
@ -138,22 +177,32 @@ public class VDayRecord extends TableRecordImpl<VDayRecord> implements Record5<L
} }
@Override @Override
public YearToSecond component2() { public LocalTime component2() {
return getWorktime(); return getStarttime();
} }
@Override @Override
public YearToSecond component3() { public LocalTime component3() {
return getBreaktime(); return getEndtime();
} }
@Override @Override
public YearToSecond component4() { public YearToSecond component4() {
return getWorktime();
}
@Override
public YearToSecond component5() {
return getBreaktime();
}
@Override
public YearToSecond component6() {
return getDayOvertime(); return getDayOvertime();
} }
@Override @Override
public Integer component5() { public Integer component7() {
return getFkLogin(); return getFkLogin();
} }
@ -163,22 +212,32 @@ public class VDayRecord extends TableRecordImpl<VDayRecord> implements Record5<L
} }
@Override @Override
public YearToSecond value2() { public LocalTime value2() {
return getWorktime(); return getStarttime();
} }
@Override @Override
public YearToSecond value3() { public LocalTime value3() {
return getBreaktime(); return getEndtime();
} }
@Override @Override
public YearToSecond value4() { public YearToSecond value4() {
return getWorktime();
}
@Override
public YearToSecond value5() {
return getBreaktime();
}
@Override
public YearToSecond value6() {
return getDayOvertime(); return getDayOvertime();
} }
@Override @Override
public Integer value5() { public Integer value7() {
return getFkLogin(); return getFkLogin();
} }
@ -189,36 +248,50 @@ public class VDayRecord extends TableRecordImpl<VDayRecord> implements Record5<L
} }
@Override @Override
public VDayRecord value2(YearToSecond value) { public VDayRecord value2(LocalTime value) {
setWorktime(value); setStarttime(value);
return this; return this;
} }
@Override @Override
public VDayRecord value3(YearToSecond value) { public VDayRecord value3(LocalTime value) {
setBreaktime(value); setEndtime(value);
return this; return this;
} }
@Override @Override
public VDayRecord value4(YearToSecond value) { public VDayRecord value4(YearToSecond value) {
setWorktime(value);
return this;
}
@Override
public VDayRecord value5(YearToSecond value) {
setBreaktime(value);
return this;
}
@Override
public VDayRecord value6(YearToSecond value) {
setDayOvertime(value); setDayOvertime(value);
return this; return this;
} }
@Override @Override
public VDayRecord value5(Integer value) { public VDayRecord value7(Integer value) {
setFkLogin(value); setFkLogin(value);
return this; return this;
} }
@Override @Override
public VDayRecord values(LocalDate value1, YearToSecond value2, YearToSecond value3, YearToSecond value4, Integer value5) { public VDayRecord values(LocalDate value1, LocalTime value2, LocalTime value3, YearToSecond value4, YearToSecond value5, YearToSecond value6, Integer value7) {
value1(value1); value1(value1);
value2(value2); value2(value2);
value3(value3); value3(value3);
value4(value4); value4(value4);
value5(value5); value5(value5);
value6(value6);
value7(value7);
return this; return this;
} }
@ -236,10 +309,12 @@ public class VDayRecord extends TableRecordImpl<VDayRecord> implements Record5<L
/** /**
* Create a detached, initialised VDayRecord * Create a detached, initialised VDayRecord
*/ */
public VDayRecord(LocalDate day, YearToSecond worktime, YearToSecond breaktime, YearToSecond dayOvertime, Integer fkLogin) { public VDayRecord(LocalDate day, LocalTime starttime, LocalTime endtime, YearToSecond worktime, YearToSecond breaktime, YearToSecond dayOvertime, Integer fkLogin) {
super(VDay.V_DAY); super(VDay.V_DAY);
setDay(day); setDay(day);
setStarttime(starttime);
setEndtime(endtime);
setWorktime(worktime); setWorktime(worktime);
setBreaktime(breaktime); setBreaktime(breaktime);
setDayOvertime(dayOvertime); setDayOvertime(dayOvertime);

View File

@ -72,7 +72,8 @@ with x(dayworktime, day, fk_login, required, starttime, endtime) as (
from done.v_daylimit d from done.v_daylimit d
left join done.t_required_worktime r on r.day = d.day and r.fk_login = d.fk_login 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
) select day, dayworktime as worktime, endtime - starttime - dayworktime as breaktime, ) select day, starttime, endtime, dayworktime as worktime,
endtime - starttime - dayworktime as breaktime,
dayworktime - required as day_overtime, fk_login dayworktime - required as day_overtime, fk_login
from x from x
order by day desc, fk_login; order by day desc, fk_login;