Compare commits

..

1 Commits

Author SHA1 Message Date
Jörg Henke
7012f41c46 added views 2026-01-19 10:59:42 +01:00
12 changed files with 1368 additions and 4 deletions

View File

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

View File

@@ -13,6 +13,9 @@ import de.jottyfan.timetrack.db.project.tables.TProject;
import de.jottyfan.timetrack.db.project.tables.TWorkpackage; import de.jottyfan.timetrack.db.project.tables.TWorkpackage;
import de.jottyfan.timetrack.db.project.tables.TWorkpackageApp; import de.jottyfan.timetrack.db.project.tables.TWorkpackageApp;
import de.jottyfan.timetrack.db.project.tables.VBundleApps; import de.jottyfan.timetrack.db.project.tables.VBundleApps;
import de.jottyfan.timetrack.db.project.tables.VExcelApp;
import de.jottyfan.timetrack.db.project.tables.VExcelWorkpackage;
import de.jottyfan.timetrack.db.project.tables.VExcelWorkpackageApp;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
@@ -75,6 +78,21 @@ public class Project extends SchemaImpl {
*/ */
public final VBundleApps V_BUNDLE_APPS = VBundleApps.V_BUNDLE_APPS; public final VBundleApps V_BUNDLE_APPS = VBundleApps.V_BUNDLE_APPS;
/**
* The table <code>project.v_excel_app</code>.
*/
public final VExcelApp V_EXCEL_APP = VExcelApp.V_EXCEL_APP;
/**
* The table <code>project.v_excel_workpackage</code>.
*/
public final VExcelWorkpackage V_EXCEL_WORKPACKAGE = VExcelWorkpackage.V_EXCEL_WORKPACKAGE;
/**
* The table <code>project.v_excel_workpackage_app</code>.
*/
public final VExcelWorkpackageApp V_EXCEL_WORKPACKAGE_APP = VExcelWorkpackageApp.V_EXCEL_WORKPACKAGE_APP;
/** /**
* No further instances allowed * No further instances allowed
*/ */
@@ -98,7 +116,10 @@ public class Project extends SchemaImpl {
TProject.T_PROJECT, TProject.T_PROJECT,
TWorkpackage.T_WORKPACKAGE, TWorkpackage.T_WORKPACKAGE,
TWorkpackageApp.T_WORKPACKAGE_APP, TWorkpackageApp.T_WORKPACKAGE_APP,
VBundleApps.V_BUNDLE_APPS VBundleApps.V_BUNDLE_APPS,
VExcelApp.V_EXCEL_APP,
VExcelWorkpackage.V_EXCEL_WORKPACKAGE,
VExcelWorkpackageApp.V_EXCEL_WORKPACKAGE_APP
); );
} }
} }

View File

@@ -12,6 +12,9 @@ import de.jottyfan.timetrack.db.project.tables.TProject;
import de.jottyfan.timetrack.db.project.tables.TWorkpackage; import de.jottyfan.timetrack.db.project.tables.TWorkpackage;
import de.jottyfan.timetrack.db.project.tables.TWorkpackageApp; import de.jottyfan.timetrack.db.project.tables.TWorkpackageApp;
import de.jottyfan.timetrack.db.project.tables.VBundleApps; import de.jottyfan.timetrack.db.project.tables.VBundleApps;
import de.jottyfan.timetrack.db.project.tables.VExcelApp;
import de.jottyfan.timetrack.db.project.tables.VExcelWorkpackage;
import de.jottyfan.timetrack.db.project.tables.VExcelWorkpackageApp;
/** /**
@@ -59,4 +62,19 @@ public class Tables {
* The table <code>project.v_bundle_apps</code>. * The table <code>project.v_bundle_apps</code>.
*/ */
public static final VBundleApps V_BUNDLE_APPS = VBundleApps.V_BUNDLE_APPS; public static final VBundleApps V_BUNDLE_APPS = VBundleApps.V_BUNDLE_APPS;
/**
* The table <code>project.v_excel_app</code>.
*/
public static final VExcelApp V_EXCEL_APP = VExcelApp.V_EXCEL_APP;
/**
* The table <code>project.v_excel_workpackage</code>.
*/
public static final VExcelWorkpackage V_EXCEL_WORKPACKAGE = VExcelWorkpackage.V_EXCEL_WORKPACKAGE;
/**
* The table <code>project.v_excel_workpackage_app</code>.
*/
public static final VExcelWorkpackageApp V_EXCEL_WORKPACKAGE_APP = VExcelWorkpackageApp.V_EXCEL_WORKPACKAGE_APP;
} }

View File

@@ -0,0 +1,264 @@
/*
* This file is generated by jOOQ.
*/
package de.jottyfan.timetrack.db.project.tables;
import de.jottyfan.timetrack.db.project.Project;
import de.jottyfan.timetrack.db.project.tables.records.VExcelAppRecord;
import java.util.Collection;
import org.jooq.Condition;
import org.jooq.Field;
import org.jooq.Name;
import org.jooq.PlainSQL;
import org.jooq.QueryPart;
import org.jooq.SQL;
import org.jooq.Schema;
import org.jooq.Select;
import org.jooq.Stringly;
import org.jooq.Table;
import org.jooq.TableField;
import org.jooq.TableOptions;
import org.jooq.impl.DSL;
import org.jooq.impl.SQLDataType;
import org.jooq.impl.TableImpl;
/**
* This class is generated by jOOQ.
*/
@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
public class VExcelApp extends TableImpl<VExcelAppRecord> {
private static final long serialVersionUID = 1L;
/**
* The reference instance of <code>project.v_excel_app</code>
*/
public static final VExcelApp V_EXCEL_APP = new VExcelApp();
/**
* The class holding records for this type
*/
@Override
public Class<VExcelAppRecord> getRecordType() {
return VExcelAppRecord.class;
}
/**
* The column <code>project.v_excel_app.app_id</code>.
*/
public final TableField<VExcelAppRecord, Integer> APP_ID = createField(DSL.name("app_id"), SQLDataType.INTEGER, this, "");
/**
* The column <code>project.v_excel_app.bundle_name</code>.
*/
public final TableField<VExcelAppRecord, String> BUNDLE_NAME = createField(DSL.name("bundle_name"), SQLDataType.CLOB, this, "");
/**
* The column <code>project.v_excel_app.bundle_description</code>.
*/
public final TableField<VExcelAppRecord, String> BUNDLE_DESCRIPTION = createField(DSL.name("bundle_description"), SQLDataType.CLOB, this, "");
/**
* The column <code>project.v_excel_app.basic_functionality</code>.
*/
public final TableField<VExcelAppRecord, String> BASIC_FUNCTIONALITY = createField(DSL.name("basic_functionality"), SQLDataType.CLOB, this, "");
/**
* The column <code>project.v_excel_app.name</code>.
*/
public final TableField<VExcelAppRecord, String> NAME = createField(DSL.name("name"), SQLDataType.CLOB, this, "");
/**
* The column <code>project.v_excel_app.description</code>.
*/
public final TableField<VExcelAppRecord, String> DESCRIPTION = createField(DSL.name("description"), SQLDataType.CLOB, this, "");
/**
* The column <code>project.v_excel_app.replaced_by_app_with_id</code>.
*/
public final TableField<VExcelAppRecord, Integer> REPLACED_BY_APP_WITH_ID = createField(DSL.name("replaced_by_app_with_id"), SQLDataType.INTEGER, this, "");
/**
* The column <code>project.v_excel_app.repository_url</code>.
*/
public final TableField<VExcelAppRecord, String> REPOSITORY_URL = createField(DSL.name("repository_url"), SQLDataType.CLOB, this, "");
/**
* The column <code>project.v_excel_app.orphan</code>.
*/
public final TableField<VExcelAppRecord, Boolean> ORPHAN = createField(DSL.name("orphan"), SQLDataType.BOOLEAN, this, "");
private VExcelApp(Name alias, Table<VExcelAppRecord> aliased) {
this(alias, aliased, (Field<?>[]) null, null);
}
private VExcelApp(Name alias, Table<VExcelAppRecord> aliased, Field<?>[] parameters, Condition where) {
super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.view("""
create view "v_excel_app" as SELECT a.pk_app AS app_id,
b.name AS bundle_name,
b.description AS bundle_description,
a.basic_functionality,
a.name,
a.description,
a.fk_replaced_by_app AS replaced_by_app_with_id,
a.repository_url,
(wa.pk_workpackage_app IS NULL) AS orphan
FROM ((project.t_app a
LEFT JOIN project.t_bundle b ON ((b.pk_bundle = a.fk_bundle)))
LEFT JOIN project.t_workpackage_app wa ON ((wa.fk_app = a.pk_app)));
"""), where);
}
/**
* Create an aliased <code>project.v_excel_app</code> table reference
*/
public VExcelApp(String alias) {
this(DSL.name(alias), V_EXCEL_APP);
}
/**
* Create an aliased <code>project.v_excel_app</code> table reference
*/
public VExcelApp(Name alias) {
this(alias, V_EXCEL_APP);
}
/**
* Create a <code>project.v_excel_app</code> table reference
*/
public VExcelApp() {
this(DSL.name("v_excel_app"), null);
}
@Override
public Schema getSchema() {
return aliased() ? null : Project.PROJECT;
}
@Override
public VExcelApp as(String alias) {
return new VExcelApp(DSL.name(alias), this);
}
@Override
public VExcelApp as(Name alias) {
return new VExcelApp(alias, this);
}
@Override
public VExcelApp as(Table<?> alias) {
return new VExcelApp(alias.getQualifiedName(), this);
}
/**
* Rename this table
*/
@Override
public VExcelApp rename(String name) {
return new VExcelApp(DSL.name(name), null);
}
/**
* Rename this table
*/
@Override
public VExcelApp rename(Name name) {
return new VExcelApp(name, null);
}
/**
* Rename this table
*/
@Override
public VExcelApp rename(Table<?> name) {
return new VExcelApp(name.getQualifiedName(), null);
}
/**
* Create an inline derived table from this table
*/
@Override
public VExcelApp where(Condition condition) {
return new VExcelApp(getQualifiedName(), aliased() ? this : null, null, condition);
}
/**
* Create an inline derived table from this table
*/
@Override
public VExcelApp where(Collection<? extends Condition> conditions) {
return where(DSL.and(conditions));
}
/**
* Create an inline derived table from this table
*/
@Override
public VExcelApp where(Condition... conditions) {
return where(DSL.and(conditions));
}
/**
* Create an inline derived table from this table
*/
@Override
public VExcelApp where(Field<Boolean> condition) {
return where(DSL.condition(condition));
}
/**
* Create an inline derived table from this table
*/
@Override
@PlainSQL
public VExcelApp where(SQL condition) {
return where(DSL.condition(condition));
}
/**
* Create an inline derived table from this table
*/
@Override
@PlainSQL
public VExcelApp where(@Stringly.SQL String condition) {
return where(DSL.condition(condition));
}
/**
* Create an inline derived table from this table
*/
@Override
@PlainSQL
public VExcelApp where(@Stringly.SQL String condition, Object... binds) {
return where(DSL.condition(condition, binds));
}
/**
* Create an inline derived table from this table
*/
@Override
@PlainSQL
public VExcelApp where(@Stringly.SQL String condition, QueryPart... parts) {
return where(DSL.condition(condition, parts));
}
/**
* Create an inline derived table from this table
*/
@Override
public VExcelApp whereExists(Select<?> select) {
return where(DSL.exists(select));
}
/**
* Create an inline derived table from this table
*/
@Override
public VExcelApp whereNotExists(Select<?> select) {
return where(DSL.notExists(select));
}
}

View File

@@ -0,0 +1,280 @@
/*
* This file is generated by jOOQ.
*/
package de.jottyfan.timetrack.db.project.tables;
import de.jottyfan.timetrack.db.project.Project;
import de.jottyfan.timetrack.db.project.tables.records.VExcelWorkpackageRecord;
import java.time.LocalDate;
import java.util.Collection;
import org.jooq.Condition;
import org.jooq.Field;
import org.jooq.Name;
import org.jooq.PlainSQL;
import org.jooq.QueryPart;
import org.jooq.SQL;
import org.jooq.Schema;
import org.jooq.Select;
import org.jooq.Stringly;
import org.jooq.Table;
import org.jooq.TableField;
import org.jooq.TableOptions;
import org.jooq.impl.DSL;
import org.jooq.impl.SQLDataType;
import org.jooq.impl.TableImpl;
/**
* This class is generated by jOOQ.
*/
@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
public class VExcelWorkpackage extends TableImpl<VExcelWorkpackageRecord> {
private static final long serialVersionUID = 1L;
/**
* The reference instance of <code>project.v_excel_workpackage</code>
*/
public static final VExcelWorkpackage V_EXCEL_WORKPACKAGE = new VExcelWorkpackage();
/**
* The class holding records for this type
*/
@Override
public Class<VExcelWorkpackageRecord> getRecordType() {
return VExcelWorkpackageRecord.class;
}
/**
* The column <code>project.v_excel_workpackage.project_id</code>.
*/
public final TableField<VExcelWorkpackageRecord, Integer> PROJECT_ID = createField(DSL.name("project_id"), SQLDataType.INTEGER, this, "");
/**
* The column <code>project.v_excel_workpackage.project_name</code>.
*/
public final TableField<VExcelWorkpackageRecord, String> PROJECT_NAME = createField(DSL.name("project_name"), SQLDataType.CLOB, this, "");
/**
* The column <code>project.v_excel_workpackage.project_description</code>.
*/
public final TableField<VExcelWorkpackageRecord, String> PROJECT_DESCRIPTION = createField(DSL.name("project_description"), SQLDataType.CLOB, this, "");
/**
* The column <code>project.v_excel_workpackage.funder_name</code>.
*/
public final TableField<VExcelWorkpackageRecord, String> FUNDER_NAME = createField(DSL.name("funder_name"), SQLDataType.CLOB, this, "");
/**
* The column <code>project.v_excel_workpackage.funder_description</code>.
*/
public final TableField<VExcelWorkpackageRecord, String> FUNDER_DESCRIPTION = createField(DSL.name("funder_description"), SQLDataType.CLOB, this, "");
/**
* The column <code>project.v_excel_workpackage.workpackage_id</code>.
*/
public final TableField<VExcelWorkpackageRecord, Integer> WORKPACKAGE_ID = createField(DSL.name("workpackage_id"), SQLDataType.INTEGER, this, "");
/**
* The column <code>project.v_excel_workpackage.workpackage_name</code>.
*/
public final TableField<VExcelWorkpackageRecord, String> WORKPACKAGE_NAME = createField(DSL.name("workpackage_name"), SQLDataType.CLOB, this, "");
/**
* The column
* <code>project.v_excel_workpackage.workpackage_description</code>.
*/
public final TableField<VExcelWorkpackageRecord, String> WORKPACKAGE_DESCRIPTION = createField(DSL.name("workpackage_description"), SQLDataType.CLOB, this, "");
/**
* The column <code>project.v_excel_workpackage.contract_url</code>.
*/
public final TableField<VExcelWorkpackageRecord, String> CONTRACT_URL = createField(DSL.name("contract_url"), SQLDataType.CLOB, this, "");
/**
* The column <code>project.v_excel_workpackage.milestone_url</code>.
*/
public final TableField<VExcelWorkpackageRecord, String> MILESTONE_URL = createField(DSL.name("milestone_url"), SQLDataType.CLOB, this, "");
/**
* The column <code>project.v_excel_workpackage.planned_duedate</code>.
*/
public final TableField<VExcelWorkpackageRecord, LocalDate> PLANNED_DUEDATE = createField(DSL.name("planned_duedate"), SQLDataType.LOCALDATE, this, "");
private VExcelWorkpackage(Name alias, Table<VExcelWorkpackageRecord> aliased) {
this(alias, aliased, (Field<?>[]) null, null);
}
private VExcelWorkpackage(Name alias, Table<VExcelWorkpackageRecord> aliased, Field<?>[] parameters, Condition where) {
super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.view("""
create view "v_excel_workpackage" as SELECT p.pk_project AS project_id,
p.name AS project_name,
p.description AS project_description,
f.name AS funder_name,
f.description AS funder_description,
w.pk_workpackage AS workpackage_id,
w.name AS workpackage_name,
w.description AS workpackage_description,
w.contract_url,
w.milestone_url,
w.planned_duedate
FROM ((project.t_project p
LEFT JOIN project.t_funder f ON ((f.pk_funder = p.fk_funder)))
LEFT JOIN project.t_workpackage w ON ((w.fk_project = p.pk_project)));
"""), where);
}
/**
* Create an aliased <code>project.v_excel_workpackage</code> table
* reference
*/
public VExcelWorkpackage(String alias) {
this(DSL.name(alias), V_EXCEL_WORKPACKAGE);
}
/**
* Create an aliased <code>project.v_excel_workpackage</code> table
* reference
*/
public VExcelWorkpackage(Name alias) {
this(alias, V_EXCEL_WORKPACKAGE);
}
/**
* Create a <code>project.v_excel_workpackage</code> table reference
*/
public VExcelWorkpackage() {
this(DSL.name("v_excel_workpackage"), null);
}
@Override
public Schema getSchema() {
return aliased() ? null : Project.PROJECT;
}
@Override
public VExcelWorkpackage as(String alias) {
return new VExcelWorkpackage(DSL.name(alias), this);
}
@Override
public VExcelWorkpackage as(Name alias) {
return new VExcelWorkpackage(alias, this);
}
@Override
public VExcelWorkpackage as(Table<?> alias) {
return new VExcelWorkpackage(alias.getQualifiedName(), this);
}
/**
* Rename this table
*/
@Override
public VExcelWorkpackage rename(String name) {
return new VExcelWorkpackage(DSL.name(name), null);
}
/**
* Rename this table
*/
@Override
public VExcelWorkpackage rename(Name name) {
return new VExcelWorkpackage(name, null);
}
/**
* Rename this table
*/
@Override
public VExcelWorkpackage rename(Table<?> name) {
return new VExcelWorkpackage(name.getQualifiedName(), null);
}
/**
* Create an inline derived table from this table
*/
@Override
public VExcelWorkpackage where(Condition condition) {
return new VExcelWorkpackage(getQualifiedName(), aliased() ? this : null, null, condition);
}
/**
* Create an inline derived table from this table
*/
@Override
public VExcelWorkpackage where(Collection<? extends Condition> conditions) {
return where(DSL.and(conditions));
}
/**
* Create an inline derived table from this table
*/
@Override
public VExcelWorkpackage where(Condition... conditions) {
return where(DSL.and(conditions));
}
/**
* Create an inline derived table from this table
*/
@Override
public VExcelWorkpackage where(Field<Boolean> condition) {
return where(DSL.condition(condition));
}
/**
* Create an inline derived table from this table
*/
@Override
@PlainSQL
public VExcelWorkpackage where(SQL condition) {
return where(DSL.condition(condition));
}
/**
* Create an inline derived table from this table
*/
@Override
@PlainSQL
public VExcelWorkpackage where(@Stringly.SQL String condition) {
return where(DSL.condition(condition));
}
/**
* Create an inline derived table from this table
*/
@Override
@PlainSQL
public VExcelWorkpackage where(@Stringly.SQL String condition, Object... binds) {
return where(DSL.condition(condition, binds));
}
/**
* Create an inline derived table from this table
*/
@Override
@PlainSQL
public VExcelWorkpackage where(@Stringly.SQL String condition, QueryPart... parts) {
return where(DSL.condition(condition, parts));
}
/**
* Create an inline derived table from this table
*/
@Override
public VExcelWorkpackage whereExists(Select<?> select) {
return where(DSL.exists(select));
}
/**
* Create an inline derived table from this table
*/
@Override
public VExcelWorkpackage whereNotExists(Select<?> select) {
return where(DSL.notExists(select));
}
}

View File

@@ -0,0 +1,243 @@
/*
* This file is generated by jOOQ.
*/
package de.jottyfan.timetrack.db.project.tables;
import de.jottyfan.timetrack.db.project.Project;
import de.jottyfan.timetrack.db.project.tables.records.VExcelWorkpackageAppRecord;
import java.util.Collection;
import org.jooq.Condition;
import org.jooq.Field;
import org.jooq.Name;
import org.jooq.PlainSQL;
import org.jooq.QueryPart;
import org.jooq.SQL;
import org.jooq.Schema;
import org.jooq.Select;
import org.jooq.Stringly;
import org.jooq.Table;
import org.jooq.TableField;
import org.jooq.TableOptions;
import org.jooq.impl.DSL;
import org.jooq.impl.SQLDataType;
import org.jooq.impl.TableImpl;
/**
* This class is generated by jOOQ.
*/
@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
public class VExcelWorkpackageApp extends TableImpl<VExcelWorkpackageAppRecord> {
private static final long serialVersionUID = 1L;
/**
* The reference instance of <code>project.v_excel_workpackage_app</code>
*/
public static final VExcelWorkpackageApp V_EXCEL_WORKPACKAGE_APP = new VExcelWorkpackageApp();
/**
* The class holding records for this type
*/
@Override
public Class<VExcelWorkpackageAppRecord> getRecordType() {
return VExcelWorkpackageAppRecord.class;
}
/**
* The column
* <code>project.v_excel_workpackage_app.workpackage_app_id</code>.
*/
public final TableField<VExcelWorkpackageAppRecord, Integer> WORKPACKAGE_APP_ID = createField(DSL.name("workpackage_app_id"), SQLDataType.INTEGER, this, "");
/**
* The column <code>project.v_excel_workpackage_app.workpackage_name</code>.
*/
public final TableField<VExcelWorkpackageAppRecord, String> WORKPACKAGE_NAME = createField(DSL.name("workpackage_name"), SQLDataType.CLOB, this, "");
/**
* The column <code>project.v_excel_workpackage_app.app_name</code>.
*/
public final TableField<VExcelWorkpackageAppRecord, String> APP_NAME = createField(DSL.name("app_name"), SQLDataType.CLOB, this, "");
/**
* The column <code>project.v_excel_workpackage_app.workpackage_id</code>.
*/
public final TableField<VExcelWorkpackageAppRecord, Integer> WORKPACKAGE_ID = createField(DSL.name("workpackage_id"), SQLDataType.INTEGER, this, "");
/**
* The column <code>project.v_excel_workpackage_app.app_id</code>.
*/
public final TableField<VExcelWorkpackageAppRecord, Integer> APP_ID = createField(DSL.name("app_id"), SQLDataType.INTEGER, this, "");
private VExcelWorkpackageApp(Name alias, Table<VExcelWorkpackageAppRecord> aliased) {
this(alias, aliased, (Field<?>[]) null, null);
}
private VExcelWorkpackageApp(Name alias, Table<VExcelWorkpackageAppRecord> aliased, Field<?>[] parameters, Condition where) {
super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.view("""
create view "v_excel_workpackage_app" as SELECT wa.pk_workpackage_app AS workpackage_app_id,
w.name AS workpackage_name,
a.name AS app_name,
w.pk_workpackage AS workpackage_id,
a.pk_app AS app_id
FROM ((project.t_workpackage_app wa
LEFT JOIN project.t_workpackage w ON ((w.pk_workpackage = wa.fk_workpackage)))
LEFT JOIN project.t_app a ON ((a.pk_app = wa.fk_app)));
"""), where);
}
/**
* Create an aliased <code>project.v_excel_workpackage_app</code> table
* reference
*/
public VExcelWorkpackageApp(String alias) {
this(DSL.name(alias), V_EXCEL_WORKPACKAGE_APP);
}
/**
* Create an aliased <code>project.v_excel_workpackage_app</code> table
* reference
*/
public VExcelWorkpackageApp(Name alias) {
this(alias, V_EXCEL_WORKPACKAGE_APP);
}
/**
* Create a <code>project.v_excel_workpackage_app</code> table reference
*/
public VExcelWorkpackageApp() {
this(DSL.name("v_excel_workpackage_app"), null);
}
@Override
public Schema getSchema() {
return aliased() ? null : Project.PROJECT;
}
@Override
public VExcelWorkpackageApp as(String alias) {
return new VExcelWorkpackageApp(DSL.name(alias), this);
}
@Override
public VExcelWorkpackageApp as(Name alias) {
return new VExcelWorkpackageApp(alias, this);
}
@Override
public VExcelWorkpackageApp as(Table<?> alias) {
return new VExcelWorkpackageApp(alias.getQualifiedName(), this);
}
/**
* Rename this table
*/
@Override
public VExcelWorkpackageApp rename(String name) {
return new VExcelWorkpackageApp(DSL.name(name), null);
}
/**
* Rename this table
*/
@Override
public VExcelWorkpackageApp rename(Name name) {
return new VExcelWorkpackageApp(name, null);
}
/**
* Rename this table
*/
@Override
public VExcelWorkpackageApp rename(Table<?> name) {
return new VExcelWorkpackageApp(name.getQualifiedName(), null);
}
/**
* Create an inline derived table from this table
*/
@Override
public VExcelWorkpackageApp where(Condition condition) {
return new VExcelWorkpackageApp(getQualifiedName(), aliased() ? this : null, null, condition);
}
/**
* Create an inline derived table from this table
*/
@Override
public VExcelWorkpackageApp where(Collection<? extends Condition> conditions) {
return where(DSL.and(conditions));
}
/**
* Create an inline derived table from this table
*/
@Override
public VExcelWorkpackageApp where(Condition... conditions) {
return where(DSL.and(conditions));
}
/**
* Create an inline derived table from this table
*/
@Override
public VExcelWorkpackageApp where(Field<Boolean> condition) {
return where(DSL.condition(condition));
}
/**
* Create an inline derived table from this table
*/
@Override
@PlainSQL
public VExcelWorkpackageApp where(SQL condition) {
return where(DSL.condition(condition));
}
/**
* Create an inline derived table from this table
*/
@Override
@PlainSQL
public VExcelWorkpackageApp where(@Stringly.SQL String condition) {
return where(DSL.condition(condition));
}
/**
* Create an inline derived table from this table
*/
@Override
@PlainSQL
public VExcelWorkpackageApp where(@Stringly.SQL String condition, Object... binds) {
return where(DSL.condition(condition, binds));
}
/**
* Create an inline derived table from this table
*/
@Override
@PlainSQL
public VExcelWorkpackageApp where(@Stringly.SQL String condition, QueryPart... parts) {
return where(DSL.condition(condition, parts));
}
/**
* Create an inline derived table from this table
*/
@Override
public VExcelWorkpackageApp whereExists(Select<?> select) {
return where(DSL.exists(select));
}
/**
* Create an inline derived table from this table
*/
@Override
public VExcelWorkpackageApp whereNotExists(Select<?> select) {
return where(DSL.notExists(select));
}
}

View File

@@ -0,0 +1,174 @@
/*
* This file is generated by jOOQ.
*/
package de.jottyfan.timetrack.db.project.tables.records;
import de.jottyfan.timetrack.db.project.tables.VExcelApp;
import org.jooq.impl.TableRecordImpl;
/**
* This class is generated by jOOQ.
*/
@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
public class VExcelAppRecord extends TableRecordImpl<VExcelAppRecord> {
private static final long serialVersionUID = 1L;
/**
* Setter for <code>project.v_excel_app.app_id</code>.
*/
public void setAppId(Integer value) {
set(0, value);
}
/**
* Getter for <code>project.v_excel_app.app_id</code>.
*/
public Integer getAppId() {
return (Integer) get(0);
}
/**
* Setter for <code>project.v_excel_app.bundle_name</code>.
*/
public void setBundleName(String value) {
set(1, value);
}
/**
* Getter for <code>project.v_excel_app.bundle_name</code>.
*/
public String getBundleName() {
return (String) get(1);
}
/**
* Setter for <code>project.v_excel_app.bundle_description</code>.
*/
public void setBundleDescription(String value) {
set(2, value);
}
/**
* Getter for <code>project.v_excel_app.bundle_description</code>.
*/
public String getBundleDescription() {
return (String) get(2);
}
/**
* Setter for <code>project.v_excel_app.basic_functionality</code>.
*/
public void setBasicFunctionality(String value) {
set(3, value);
}
/**
* Getter for <code>project.v_excel_app.basic_functionality</code>.
*/
public String getBasicFunctionality() {
return (String) get(3);
}
/**
* Setter for <code>project.v_excel_app.name</code>.
*/
public void setName(String value) {
set(4, value);
}
/**
* Getter for <code>project.v_excel_app.name</code>.
*/
public String getName() {
return (String) get(4);
}
/**
* Setter for <code>project.v_excel_app.description</code>.
*/
public void setDescription(String value) {
set(5, value);
}
/**
* Getter for <code>project.v_excel_app.description</code>.
*/
public String getDescription() {
return (String) get(5);
}
/**
* Setter for <code>project.v_excel_app.replaced_by_app_with_id</code>.
*/
public void setReplacedByAppWithId(Integer value) {
set(6, value);
}
/**
* Getter for <code>project.v_excel_app.replaced_by_app_with_id</code>.
*/
public Integer getReplacedByAppWithId() {
return (Integer) get(6);
}
/**
* Setter for <code>project.v_excel_app.repository_url</code>.
*/
public void setRepositoryUrl(String value) {
set(7, value);
}
/**
* Getter for <code>project.v_excel_app.repository_url</code>.
*/
public String getRepositoryUrl() {
return (String) get(7);
}
/**
* Setter for <code>project.v_excel_app.orphan</code>.
*/
public void setOrphan(Boolean value) {
set(8, value);
}
/**
* Getter for <code>project.v_excel_app.orphan</code>.
*/
public Boolean getOrphan() {
return (Boolean) get(8);
}
// -------------------------------------------------------------------------
// Constructors
// -------------------------------------------------------------------------
/**
* Create a detached VExcelAppRecord
*/
public VExcelAppRecord() {
super(VExcelApp.V_EXCEL_APP);
}
/**
* Create a detached, initialised VExcelAppRecord
*/
public VExcelAppRecord(Integer appId, String bundleName, String bundleDescription, String basicFunctionality, String name, String description, Integer replacedByAppWithId, String repositoryUrl, Boolean orphan) {
super(VExcelApp.V_EXCEL_APP);
setAppId(appId);
setBundleName(bundleName);
setBundleDescription(bundleDescription);
setBasicFunctionality(basicFunctionality);
setName(name);
setDescription(description);
setReplacedByAppWithId(replacedByAppWithId);
setRepositoryUrl(repositoryUrl);
setOrphan(orphan);
resetChangedOnNotNull();
}
}

View File

@@ -0,0 +1,116 @@
/*
* This file is generated by jOOQ.
*/
package de.jottyfan.timetrack.db.project.tables.records;
import de.jottyfan.timetrack.db.project.tables.VExcelWorkpackageApp;
import org.jooq.impl.TableRecordImpl;
/**
* This class is generated by jOOQ.
*/
@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
public class VExcelWorkpackageAppRecord extends TableRecordImpl<VExcelWorkpackageAppRecord> {
private static final long serialVersionUID = 1L;
/**
* Setter for
* <code>project.v_excel_workpackage_app.workpackage_app_id</code>.
*/
public void setWorkpackageAppId(Integer value) {
set(0, value);
}
/**
* Getter for
* <code>project.v_excel_workpackage_app.workpackage_app_id</code>.
*/
public Integer getWorkpackageAppId() {
return (Integer) get(0);
}
/**
* Setter for <code>project.v_excel_workpackage_app.workpackage_name</code>.
*/
public void setWorkpackageName(String value) {
set(1, value);
}
/**
* Getter for <code>project.v_excel_workpackage_app.workpackage_name</code>.
*/
public String getWorkpackageName() {
return (String) get(1);
}
/**
* Setter for <code>project.v_excel_workpackage_app.app_name</code>.
*/
public void setAppName(String value) {
set(2, value);
}
/**
* Getter for <code>project.v_excel_workpackage_app.app_name</code>.
*/
public String getAppName() {
return (String) get(2);
}
/**
* Setter for <code>project.v_excel_workpackage_app.workpackage_id</code>.
*/
public void setWorkpackageId(Integer value) {
set(3, value);
}
/**
* Getter for <code>project.v_excel_workpackage_app.workpackage_id</code>.
*/
public Integer getWorkpackageId() {
return (Integer) get(3);
}
/**
* Setter for <code>project.v_excel_workpackage_app.app_id</code>.
*/
public void setAppId(Integer value) {
set(4, value);
}
/**
* Getter for <code>project.v_excel_workpackage_app.app_id</code>.
*/
public Integer getAppId() {
return (Integer) get(4);
}
// -------------------------------------------------------------------------
// Constructors
// -------------------------------------------------------------------------
/**
* Create a detached VExcelWorkpackageAppRecord
*/
public VExcelWorkpackageAppRecord() {
super(VExcelWorkpackageApp.V_EXCEL_WORKPACKAGE_APP);
}
/**
* Create a detached, initialised VExcelWorkpackageAppRecord
*/
public VExcelWorkpackageAppRecord(Integer workpackageAppId, String workpackageName, String appName, Integer workpackageId, Integer appId) {
super(VExcelWorkpackageApp.V_EXCEL_WORKPACKAGE_APP);
setWorkpackageAppId(workpackageAppId);
setWorkpackageName(workpackageName);
setAppName(appName);
setWorkpackageId(workpackageId);
setAppId(appId);
resetChangedOnNotNull();
}
}

View File

@@ -0,0 +1,208 @@
/*
* This file is generated by jOOQ.
*/
package de.jottyfan.timetrack.db.project.tables.records;
import de.jottyfan.timetrack.db.project.tables.VExcelWorkpackage;
import java.time.LocalDate;
import org.jooq.impl.TableRecordImpl;
/**
* This class is generated by jOOQ.
*/
@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
public class VExcelWorkpackageRecord extends TableRecordImpl<VExcelWorkpackageRecord> {
private static final long serialVersionUID = 1L;
/**
* Setter for <code>project.v_excel_workpackage.project_id</code>.
*/
public void setProjectId(Integer value) {
set(0, value);
}
/**
* Getter for <code>project.v_excel_workpackage.project_id</code>.
*/
public Integer getProjectId() {
return (Integer) get(0);
}
/**
* Setter for <code>project.v_excel_workpackage.project_name</code>.
*/
public void setProjectName(String value) {
set(1, value);
}
/**
* Getter for <code>project.v_excel_workpackage.project_name</code>.
*/
public String getProjectName() {
return (String) get(1);
}
/**
* Setter for <code>project.v_excel_workpackage.project_description</code>.
*/
public void setProjectDescription(String value) {
set(2, value);
}
/**
* Getter for <code>project.v_excel_workpackage.project_description</code>.
*/
public String getProjectDescription() {
return (String) get(2);
}
/**
* Setter for <code>project.v_excel_workpackage.funder_name</code>.
*/
public void setFunderName(String value) {
set(3, value);
}
/**
* Getter for <code>project.v_excel_workpackage.funder_name</code>.
*/
public String getFunderName() {
return (String) get(3);
}
/**
* Setter for <code>project.v_excel_workpackage.funder_description</code>.
*/
public void setFunderDescription(String value) {
set(4, value);
}
/**
* Getter for <code>project.v_excel_workpackage.funder_description</code>.
*/
public String getFunderDescription() {
return (String) get(4);
}
/**
* Setter for <code>project.v_excel_workpackage.workpackage_id</code>.
*/
public void setWorkpackageId(Integer value) {
set(5, value);
}
/**
* Getter for <code>project.v_excel_workpackage.workpackage_id</code>.
*/
public Integer getWorkpackageId() {
return (Integer) get(5);
}
/**
* Setter for <code>project.v_excel_workpackage.workpackage_name</code>.
*/
public void setWorkpackageName(String value) {
set(6, value);
}
/**
* Getter for <code>project.v_excel_workpackage.workpackage_name</code>.
*/
public String getWorkpackageName() {
return (String) get(6);
}
/**
* Setter for
* <code>project.v_excel_workpackage.workpackage_description</code>.
*/
public void setWorkpackageDescription(String value) {
set(7, value);
}
/**
* Getter for
* <code>project.v_excel_workpackage.workpackage_description</code>.
*/
public String getWorkpackageDescription() {
return (String) get(7);
}
/**
* Setter for <code>project.v_excel_workpackage.contract_url</code>.
*/
public void setContractUrl(String value) {
set(8, value);
}
/**
* Getter for <code>project.v_excel_workpackage.contract_url</code>.
*/
public String getContractUrl() {
return (String) get(8);
}
/**
* Setter for <code>project.v_excel_workpackage.milestone_url</code>.
*/
public void setMilestoneUrl(String value) {
set(9, value);
}
/**
* Getter for <code>project.v_excel_workpackage.milestone_url</code>.
*/
public String getMilestoneUrl() {
return (String) get(9);
}
/**
* Setter for <code>project.v_excel_workpackage.planned_duedate</code>.
*/
public void setPlannedDuedate(LocalDate value) {
set(10, value);
}
/**
* Getter for <code>project.v_excel_workpackage.planned_duedate</code>.
*/
public LocalDate getPlannedDuedate() {
return (LocalDate) get(10);
}
// -------------------------------------------------------------------------
// Constructors
// -------------------------------------------------------------------------
/**
* Create a detached VExcelWorkpackageRecord
*/
public VExcelWorkpackageRecord() {
super(VExcelWorkpackage.V_EXCEL_WORKPACKAGE);
}
/**
* Create a detached, initialised VExcelWorkpackageRecord
*/
public VExcelWorkpackageRecord(Integer projectId, String projectName, String projectDescription, String funderName, String funderDescription, Integer workpackageId, String workpackageName, String workpackageDescription, String contractUrl, String milestoneUrl, LocalDate plannedDuedate) {
super(VExcelWorkpackage.V_EXCEL_WORKPACKAGE);
setProjectId(projectId);
setProjectName(projectName);
setProjectDescription(projectDescription);
setFunderName(funderName);
setFunderDescription(funderDescription);
setWorkpackageId(workpackageId);
setWorkpackageName(workpackageName);
setWorkpackageDescription(workpackageDescription);
setContractUrl(contractUrl);
setMilestoneUrl(milestoneUrl);
setPlannedDuedate(plannedDuedate);
resetChangedOnNotNull();
}
}

View File

@@ -58,7 +58,7 @@ public class VVersion extends TableImpl<VVersionRecord> {
private VVersion(Name alias, Table<VVersionRecord> aliased, Field<?>[] parameters, Condition where) { private VVersion(Name alias, Table<VVersionRecord> aliased, Field<?>[] parameters, Condition where) {
super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.view(""" super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.view("""
create view "v_version" as SELECT 20260114 AS version; create view "v_version" as SELECT 20260119 AS version;
"""), where); """), where);
} }

View File

@@ -67,6 +67,43 @@ from project.t_bundle b
left join project.t_app a on a.fk_bundle = b.pk_bundle left join project.t_app a on a.fk_bundle = b.pk_bundle
group by b.name; group by b.name;
create view project.v_excel_workpackage_app as
select wa.pk_workpackage_app as workpackage_app_id, w.name as workpackage_name, a.name as app_name,
w.pk_workpackage as workpackage_id, a.pk_app as app_id
from project.t_workpackage_app wa
left join project.t_workpackage w on w.pk_workpackage = wa.fk_workpackage
left join project.t_app a on a.pk_app = wa.fk_app;
create view project.v_excel_app as
select a.pk_app as app_id,
b.name as bundle_name,
b.description as bundle_description,
a.basic_functionality,
a.name,
a.description,
a.fk_replaced_by_app as replaced_by_app_with_id,
a.repository_url,
wa.pk_workpackage_app is null as orphan
from project.t_app a
left join project.t_bundle b on b.pk_bundle = a.fk_bundle
left join project.t_workpackage_app wa on wa.fk_app = a.pk_app;
create view project.v_excel_workpackage as
select p.pk_project as project_id,
p.name as project_name,
p.description as project_description,
f.name as funder_name,
f.description as funder_description,
w.pk_workpackage as workpackage_id,
w.name as workpackage_name,
w.description as workpackage_description,
w.contract_url,
w.milestone_url,
w.planned_duedate
from project.t_project p
left join project.t_funder f on f.pk_funder = p.fk_funder
left join project.t_workpackage w on w.fk_project = p.pk_project;
grant select,insert,update,delete on project.t_funder to timetrack; grant select,insert,update,delete on project.t_funder to timetrack;
grant select,insert,update,delete on project.t_project to timetrack; grant select,insert,update,delete on project.t_project to timetrack;
grant select,insert,update,delete on project.t_workpackage to timetrack; grant select,insert,update,delete on project.t_workpackage to timetrack;
@@ -76,3 +113,6 @@ grant select,insert,update,delete on project.t_workpackage_app to timetrack;
grant select,insert,update,delete on project.t_progress to timetrack; grant select,insert,update,delete on project.t_progress to timetrack;
grant select on project.v_bundle_apps to timetrack; grant select on project.v_bundle_apps to timetrack;
grant select on project.v_excel_workpackage_app to timetrack;
grant select on project.v_excel_app to timetrack;
grant select on project.v_excel_workpackage to timetrack;

View File

@@ -1,5 +1,5 @@
create or replace view public.v_version as create or replace view public.v_version as
select 20260114 as version; select 20260119 as version;
grant usage on schema public to timetrack; grant usage on schema public to timetrack;