Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
21c3ab28ec |
No files matched your search
+1
-2
@@ -4,7 +4,6 @@ buildscript {
|
|||||||
mavenCentral()
|
mavenCentral()
|
||||||
maven { url "https://repo.maven.apache.org/maven2" }
|
maven { url "https://repo.maven.apache.org/maven2" }
|
||||||
maven { url "https://plugins.gradle.org/m2/" }
|
maven { url "https://plugins.gradle.org/m2/" }
|
||||||
jcenter()
|
|
||||||
}
|
}
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath 'org.jooq:jooq-codegen:3.19.15'
|
classpath 'org.jooq:jooq-codegen:3.19.15'
|
||||||
@@ -23,7 +22,7 @@ apply plugin: 'maven-publish'
|
|||||||
apply plugin: 'eclipse'
|
apply plugin: 'eclipse'
|
||||||
|
|
||||||
group = 'de.jottyfan'
|
group = 'de.jottyfan'
|
||||||
version = '20260114'
|
version = '20261005'
|
||||||
def artifactId = 'timetrackjooq'
|
def artifactId = 'timetrackjooq'
|
||||||
def versionNumber = version
|
def versionNumber = version
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-9.5.0-bin.zip
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
+56
-26
@@ -1,4 +1,4 @@
|
|||||||
create schema done;
|
/vcreate schema done;
|
||||||
|
|
||||||
create table done.t_billing (
|
create table done.t_billing (
|
||||||
lastchange timestamp without time zone default now(),
|
lastchange timestamp without time zone default now(),
|
||||||
@@ -41,7 +41,7 @@ create table done.t_done (
|
|||||||
create table done.t_favorite (
|
create table done.t_favorite (
|
||||||
lastchange timestamp without time zone default now(),
|
lastchange timestamp without time zone default now(),
|
||||||
pk_favorite integer not null primary key generated always as identity,
|
pk_favorite integer not null primary key generated always as identity,
|
||||||
fk_login integer not null references profile.t_login(pk),
|
fk_login integer not null references profile.t_login(pk),
|
||||||
fk_project integer references done.t_project(pk),
|
fk_project integer references done.t_project(pk),
|
||||||
fk_module integer references done.t_module(pk),
|
fk_module integer references done.t_module(pk),
|
||||||
fk_job integer references done.t_job(pk),
|
fk_job integer references done.t_job(pk),
|
||||||
@@ -73,13 +73,30 @@ create table done.t_freetime (
|
|||||||
unique(day, fk_login)
|
unique(day, fk_login)
|
||||||
);
|
);
|
||||||
|
|
||||||
create view done.v_favorite as
|
create or replace view done.v_favorite as
|
||||||
select f.pk_favorite, f.fk_login, p.name as project, m.name as module, j.name as job, b.name as billing
|
with x(fk_login, fk_project, fk_module, fk_job, fk_billing, amount) as (
|
||||||
from done.t_favorite f
|
select fk_login, fk_project, fk_module, fk_job, fk_billing, count(*)
|
||||||
left join done.t_project p on p.pk = f.fk_project
|
from done.t_done
|
||||||
left join done.t_module m on m.pk = f.fk_module
|
group by fk_login, fk_project, fk_module, fk_job, fk_billing
|
||||||
left join done.t_job j on j.pk = f.fk_job
|
)
|
||||||
left join done.t_billing b on b.pk = f.fk_billing;
|
select f.pk_favorite,
|
||||||
|
f.fk_login,
|
||||||
|
p.name as project,
|
||||||
|
m.name as module,
|
||||||
|
j.name as job,
|
||||||
|
b.name as billing,
|
||||||
|
coalesce(x.amount, 0) as usage_count
|
||||||
|
from done.t_favorite f
|
||||||
|
left join done.t_project p on p.pk = f.fk_project
|
||||||
|
left join done.t_module m on m.pk = f.fk_module
|
||||||
|
left join done.t_job j on j.pk = f.fk_job
|
||||||
|
left join done.t_billing b on b.pk = f.fk_billing
|
||||||
|
left join x
|
||||||
|
on x.fk_login = f.fk_login
|
||||||
|
and x.fk_project is not distinct from f.fk_project
|
||||||
|
and x.fk_module is not distinct from f.fk_module
|
||||||
|
and x.fk_job is not distinct from f.fk_job
|
||||||
|
and x.fk_billing is not distinct from f.fk_billing;
|
||||||
|
|
||||||
create view done.v_billing as
|
create view done.v_billing as
|
||||||
with x(total) as (
|
with x(total) as (
|
||||||
@@ -97,11 +114,11 @@ create view done.v_done as
|
|||||||
select d.pk as fk_done,
|
select d.pk as fk_done,
|
||||||
l.pk as fk_login,
|
l.pk as fk_login,
|
||||||
d.time_from,
|
d.time_from,
|
||||||
d.time_until,
|
d.time_until,
|
||||||
p.name as project_name,
|
p.name as project_name,
|
||||||
m.name as module_name,
|
m.name as module_name,
|
||||||
j.name as job_name,
|
j.name as job_name,
|
||||||
l.login
|
l.login
|
||||||
from done.t_done d
|
from done.t_done d
|
||||||
left join done.t_project p on p.pk = d.fk_project
|
left join done.t_project p on p.pk = d.fk_project
|
||||||
left join done.t_module m on m.pk = d.fk_module
|
left join done.t_module m on m.pk = d.fk_module
|
||||||
@@ -127,8 +144,8 @@ create view done.v_daylimits as
|
|||||||
with x(time_from, time_until, day, fk_login) as (
|
with x(time_from, time_until, day, fk_login) as (
|
||||||
select time_from,
|
select time_from,
|
||||||
coalesce(time_until::timestamp with time zone, now()) as "coalesce",
|
coalesce(time_until::timestamp with time zone, now()) as "coalesce",
|
||||||
to_char(time_from, 'yyyy-MM-dd'::text) as day,
|
to_char(time_from, 'yyyy-MM-dd'::text) as day,
|
||||||
fk_login
|
fk_login
|
||||||
from done.t_done
|
from done.t_done
|
||||||
) select min(x.time_from) as work_start,
|
) select min(x.time_from) as work_start,
|
||||||
max(x.time_until) as work_end,
|
max(x.time_until) as work_end,
|
||||||
@@ -147,11 +164,11 @@ create view done.v_eucanshare as
|
|||||||
select d.pk as fk_done,
|
select d.pk as fk_done,
|
||||||
d.time_from::date as workday,
|
d.time_from::date as workday,
|
||||||
age(d.time_until, d.time_from) as duration,
|
age(d.time_until, d.time_from) as duration,
|
||||||
p.name as project_name,
|
p.name as project_name,
|
||||||
m.name as module_name,
|
m.name as module_name,
|
||||||
j.name as job_name,
|
j.name as job_name,
|
||||||
b.name as billing_name,
|
b.name as billing_name,
|
||||||
d.fk_login
|
d.fk_login
|
||||||
from done.t_done d
|
from done.t_done d
|
||||||
left join done.t_project p on p.pk = d.fk_project
|
left join done.t_project p on p.pk = d.fk_project
|
||||||
left join done.t_module m on m.pk = d.fk_module
|
left join done.t_module m on m.pk = d.fk_module
|
||||||
@@ -160,11 +177,11 @@ left join done.t_billing b on b.pk = d.fk_billing;
|
|||||||
|
|
||||||
create view done.v_hamster as
|
create view done.v_hamster as
|
||||||
select time_from::date as workday,
|
select time_from::date as workday,
|
||||||
age(time_until, time_from) as duration,
|
age(time_until, time_from) as duration,
|
||||||
project_name,
|
project_name,
|
||||||
module_name,
|
module_name,
|
||||||
job_name,
|
job_name,
|
||||||
login
|
login
|
||||||
from done.v_done;
|
from done.v_done;
|
||||||
|
|
||||||
create view done.v_hamstersummary as
|
create view done.v_hamstersummary as
|
||||||
@@ -304,6 +321,18 @@ with x(dayworktime, day, fk_login, required, starttime, endtime) as (
|
|||||||
from x
|
from x
|
||||||
order by day desc, fk_login;
|
order by day desc, fk_login;
|
||||||
|
|
||||||
|
create view done.v_favorite_count as
|
||||||
|
select f.pk_favorite,
|
||||||
|
f.fk_login,
|
||||||
|
count(d.pk) as usage_count
|
||||||
|
from done.t_favorite f
|
||||||
|
left join done.t_done d on d.fk_login = f.fk_login
|
||||||
|
and d.fk_project is not distinct from f.fk_project
|
||||||
|
and d.fk_module is not distinct from f.fk_module
|
||||||
|
and d.fk_job is not distinct from f.fk_job
|
||||||
|
and d.fk_billing is not distinct from f.fk_billing
|
||||||
|
group by f.pk_favorite, f.fk_login;
|
||||||
|
|
||||||
copy done.t_billing (lastchange, pk, name, shortcut, csskey) from stdin;
|
copy done.t_billing (lastchange, pk, name, shortcut, csskey) from stdin;
|
||||||
2021-03-05 19:37:07.12832 1 WP2 (eucs) - Opal/Mica/..., REST WP2 WP2
|
2021-03-05 19:37:07.12832 1 WP2 (eucs) - Opal/Mica/..., REST WP2 WP2
|
||||||
2021-03-05 19:37:07.12832 2 WP4 (eucs) - Square² WP4 WP4
|
2021-03-05 19:37:07.12832 2 WP4 (eucs) - Square² WP4 WP4
|
||||||
@@ -414,3 +443,4 @@ grant select on done.v_worktime to timetrack;
|
|||||||
grant select on done.v_daylimit to timetrack;
|
grant select on done.v_daylimit to timetrack;
|
||||||
grant select on done.v_current_overtime to timetrack;
|
grant select on done.v_current_overtime to timetrack;
|
||||||
grant select on done.v_day to timetrack;
|
grant select on done.v_day to timetrack;
|
||||||
|
grant select on done.v_favorite_count to timetrack;
|
||||||
@@ -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 20261005 as version;
|
||||||
|
|
||||||
grant usage on schema public to timetrack;
|
grant usage on schema public to timetrack;
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user