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'
group = 'de.jottyfan'
version = '20240103c'
version = '20240103d'
def artifactId = 'timetrackjooq'
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 java.time.LocalDate;
import java.time.LocalTime;
import java.util.function.Function;
import org.jooq.Field;
import org.jooq.ForeignKey;
import org.jooq.Function5;
import org.jooq.Function7;
import org.jooq.Name;
import org.jooq.Record;
import org.jooq.Records;
import org.jooq.Row5;
import org.jooq.Row7;
import org.jooq.Schema;
import org.jooq.SelectField;
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, "");
/**
* 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>.
*/
@ -152,18 +163,18 @@ public class VDay extends TableImpl<VDayRecord> {
}
// -------------------------------------------------------------------------
// Row5 type methods
// Row7 type methods
// -------------------------------------------------------------------------
@Override
public Row5<LocalDate, YearToSecond, YearToSecond, YearToSecond, Integer> fieldsRow() {
return (Row5) super.fieldsRow();
public Row7<LocalDate, LocalTime, LocalTime, YearToSecond, YearToSecond, YearToSecond, Integer> fieldsRow() {
return (Row7) super.fieldsRow();
}
/**
* 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));
}
@ -171,7 +182,7 @@ public class VDay extends TableImpl<VDayRecord> {
* Convenience mapping calling {@link SelectField#convertFrom(Class,
* 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));
}
}

View File

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

View File

@ -72,7 +72,8 @@ with x(dayworktime, day, fk_login, required, starttime, endtime) as (
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
) 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
from x
order by day desc, fk_login;