From: kilian Date: Tue, 8 Sep 2020 12:02:14 +0000 (+0200) Subject: v20200907 X-Git-Tag: 1.0.15~26 X-Git-Url: http://cloud.dks.lu/git/?a=commitdiff_plain;h=1d7dea7c66eed1a6018c1cd7ebeb37db2a941ecf;p=pot_lu.git v20200907 --- diff --git a/website/app/lib/POT/Period.pm b/website/app/lib/POT/Period.pm index 65f773da..ede6f867 100644 --- a/website/app/lib/POT/Period.pm +++ b/website/app/lib/POT/Period.pm @@ -78,11 +78,12 @@ sub getStaffPeriods(){ COALESCE(st.surname || ' '::text, ''::text) || COALESCE(st.prename, ''::text) AS staffname, st.id_staffgroup, sgr.groupname, to_char(srp.payedhours, 'HH24:MI'::text) AS payedhours, - to_char(srp.transferedhourscalc, 'HH24:MI'::text) AS transferedhourscalc, - to_char(srp.transferedhours, 'HH24:MI'::text) AS transferedhours, + case when left(to_char(srp.transferedhourscalc, 'HH24:MI'),1) = '-' then '-' || replace(to_char(srp.transferedhourscalc, 'HH24:MI'),'-','') else to_char(srp.transferedhourscalc, 'HH24:MI') end as transferedhourscalc, + case when left(to_char(srp.transferedhours, 'HH24:MI'),1) = '-' then '-' || replace(to_char(srp.transferedhours, 'HH24:MI'),'-','') else to_char(srp.transferedhours, 'HH24:MI') end as transferedhours, case when suppvacancysunwork is not null and suppvacancysunwork > 0 then '+' || suppvacancysunwork else null end as suppvacancysunwork, case when suppvacancy44hours is not null and suppvacancy44hours > 0 then '+' || suppvacancy44hours else null end as suppvacancy44hours - ,itmcontracthours,maxdays + ,itmcontracthours,maxdays, + to_char(srp.avgtotalweekhours, 'HH24:MI'::text) AS avgtotalweekhours FROM ".$schema.".staffreportperiod srp LEFT JOIN ".$schema.".staff st ON srp.id_staff = st.id LEFT JOIN ".$schema.".reportperiod rp ON srp.id_reportperiod = rp.id @@ -380,9 +381,25 @@ select weekstart,".((exists($prevprddata->{status44hcount}) && $prevprddata->{st ORDER BY sr.id_staff, sr.daydate) xx_1) yy order by yy.daydate,weekstart ) aa group by aa.weekstart order by weekstart ) bb)cc;"; - + my $status44count = $self->{db}->query($sql44); + + my $sqlavghours = "select id_staff,avg(avgtotalhours) as avgtotalhours from ( + select ws.weekstart, ws.id_staff, + AVG(ws.totalhours) over (order by ws.weekstart) as avgtotalhours + from ( + SELECT weekstart, id_staff, +sum(CASE WHEN srpd.dayhours IS NULL THEN '00:00:00'::interval ELSE srpd.dayhours::interval END) AS totalhours + FROM (select *,date(date_trunc('week', daydate)) AS weekstart, + date(date_trunc('week', daydate) + interval '6 days') AS weekend, + date_part('week', daydate) AS calweek, + date_part('isoyear', daydate) AS calyear from ".$schema.".staffreportperioddays + --where id_staff= '".$id_staff."' and daydate between date(date_trunc('week',date('".$prd->{startdate}."'))) and date(date_trunc('week',date('".$prd->{enddate}."')) + interval '6 days') + where id_staff= '".$id_staff."' and daydate between date('".$prd->{startdate}."') and date('".$prd->{enddate}."') + ) srpd GROUP BY srpd.weekstart,srpd.id_staff + ORDER BY weekstart) ws) wsavg group by id_staff;"; + my $whavg = $self->{db}->query($sqlavghours); #print STDERR "SQLSun:".$sqlsun."\n"; my $sql = "select id from ".$schema.".staffreportperioddays where id_staff='".$id_staff."' and daydate between date(date_trunc('week',date('".$prd->{startdate}."'))) and date(date_trunc('week',date('".$prd->{enddate}."')) + interval '6 days')"; $self->updatePeriodDaySums($schema,$sql); @@ -390,6 +407,8 @@ select weekstart,".((exists($prevprddata->{status44hcount}) && $prevprddata->{st --contracthours=csp.contracthours, workhours=csp.workhours, vacancyhours=csp.vacancyhours, + vacancyill=csp.vacancyill, + vacancynormal=csp.vacancynormal, totalhours=csp.totalhours, recuperationhours=csp.recuperationhours,"; #if ((defined($statussuncount) && $staffprdprev->{prevperiod} ne '')){ @@ -398,15 +417,18 @@ select weekstart,".((exists($prevprddata->{status44hcount}) && $prevprddata->{st $sql .= "suppvacancy44hours=".(($status44count->{plusdays} gt "0")?$status44count->{plusdays}:'null').","; $sql .= "status44hcount=".(($status44count->{weeksrest} eq "")?'null':$status44count->{weeksrest}).","; $sql .= "last44date=".(($status44count->{maxdate} eq "")?'null':"date('".$status44count->{maxdate}."')").","; + $sql .= "avgtotalweekhours='".$whavg->{avgtotalhours}."'::interval,"; $sql .= "hoursdiff=csp.diffhours - FROM( - select contracthours,workhours,vacancyhours,totalhours,recuperationhours, totalhours-contracthours-payedhours+transferedhourscalc as diffhours,id from ( + FROM ( + select contracthours,workhours,vacancyhours,totalhours,recuperationhours, totalhours-contracthours-payedhours+transferedhourscalc as diffhours,id,vacancyill,vacancynormal from ( select dp.id, sum(pd.workhours) as workhours, sum(pd.dayhours) as totalhours, sum(coalesce(pd.vacancyhours,'00:00:00'::time)) as vacancyhours, + sum(case when pd.id_vacancytype = 'ill' and pd.vacancyhours > '00:00:00'::time then coalesce(pd.vacancyhours,'00:00:00'::time) else '00:00:00'::time end) as vacancyill, + sum(case when pd.id_vacancytype != 'ill' and pd.vacancyhours > '00:00:00'::time then coalesce(pd.vacancyhours,'00:00:00'::time) else '00:00:00'::time end) as vacancynormal, sum(coalesce(pd.recuperationhours,'00:00:00'::time)) as recuperationhours, - sum(coalesce(pd.contracthours,'00:00:00'::time)) as contracthours, + coalesce(dp.contracthours,'00:00:00'::interval) as contracthours, coalesce(dp.payedhours,'00:00:00'::interval) as payedhours, coalesce(dp.transferedhourscalc,'00:00:00'::interval) as transferedhourscalc from ".$schema.".staffreportperioddays pd @@ -467,13 +489,20 @@ where sc.id_staff='".$id_staff."' order by startdate,enddate;"; # and startdate < date('".$prddata->{enddate}."') and enddate is null or enddate > date('".$prddata->{startdate}."');"; my $defdays = $self->{db}->querysorted($contractsql); - + my $firstday=$defdays->{0}->{startdate}; + my $kl = keys(%{$defdays})-1; + my $lastday=$defdays->{$kl}->{enddate}; + my $sql = "select date(date_trunc('week',date('".$firstday."'))) as firstday , date(date_trunc('week',date('".$lastday."')) + interval '6 days') as lastday"; + my $dlim = $self->{db}->query($sql); + $defdays->{0}->{startdate} = $dlim->{firstday}; + $defdays->{$kl}->{enddate} = $dlim->{lastday}; #if ($defdays->{0}->{startdate} eq $prddata->{startdate} && $prddata->{startdate} ne $prddata->{startdatealt}){ # $defdays->{0}->{startdate} = $prddata->{startdatealt}; # } # if (($defdays->{0}->{startdate} lt $prddata->{startdate}) && ($defdays->{0}->{startdatealt} lt $prddata->{startdate})){ # $defdays->{0}->{startdate} = $defdays->{0}->{startdatealt}; # } + print STDERR Dumper($defdays); my @delete = (); # print STDERR Dumper($defdays); # my $cpsql = "select payedpauses from public.companies where schemata='".$schema."'"; @@ -502,16 +531,16 @@ do update set wdcontracthours = '".$cth->{ wdcontracthours}."';"; # if (($defdays->{0}->{startdate} lt $prddata->{startdate}) && ($defdays->{0}->{startdate} lt $prddata->{startdatealt})){ # $prddata->{startdate} = $prddata->{startdatealt}; # } - my $delsql = "DELETE FROM ".$schema.".staffreportperioddays where id_staff='".$id_staff."' and (daydate > date('".$prddata->{enddate}."') or daydate < date('".$prddata->{startdate}."')) + my $delsql = "DELETE FROM ".$schema.".staffreportperioddays where id_staff='".$id_staff."' and (daydate > date('".$dlim->{lastday}."') or daydate < date('".$dlim->{firstday}."')) OR (id_staff='".$id_staff."' AND ".join(" AND ",@delete).");"; - #print STDERR "DEL1:".$delsql."\n======\n"; + print STDERR "DEL1:".$delsql."\n======\n"; $self->{db}->exec($delsql); } my $delstaffreportssql = "delete from ".$schema.".staffreportperiod sp where id_staff='".$id_staff."' and id_reportperiod not in ( select rp.id from ".$schema.".reportperiod rp left join ".$schema.".staffreportperioddays pd on (pd.daydate between rp.startdate and rp.enddate) where pd.id_staff='".$id_staff."' group by rp.id);"; - #print STDERR "DEL2:".$delstaffreportssql."\n======\n"; + print STDERR "DEL2:".$delstaffreportssql."\n======\n"; $self->{db}->exec($delstaffreportssql); #$self->{db}->exec($delsql); diff --git a/website/app/lib/POT/Report.pm b/website/app/lib/POT/Report.pm index a06f9ea9..21145f41 100644 --- a/website/app/lib/POT/Report.pm +++ b/website/app/lib/POT/Report.pm @@ -122,7 +122,19 @@ function subst() { - + @@ -140,6 +152,8 @@ sub printContent(){ my $data = shift; my $id_stafflist = ""; my $stafflist = (); + $self->{legend}->{vacancy} = $self->{db}->querybykey("id","SELECT id,legend FROM ".$schema.".vacancytypes WHERE isworktime=true order by legend;"); + $self->{legend}->{recup} = $self->{db}->querybykey("id","SELECT id,legend FROM ".$schema.".vacancytypes WHERE isworktime<>true order by legend;"); open(CT,">".$outfile); print CT " @@ -184,11 +198,14 @@ if (exists($data->{staff_exclude})){ to_char(srp.contracthours, 'HH24:MI'::text) AS contracthours, to_char(srp.workhours, 'HH24:MI'::text) AS workhours, to_char(srp.vacancyhours, 'HH24:MI'::text) AS vacancyhours, + to_char(srp.vacancyill, 'HH24:MI'::text) AS vacancyill, + to_char(srp.vacancynormal, 'HH24:MI'::text) AS vacancynormal, to_char(srp.recuperationhours, 'HH24:MI'::text) AS recuperationhours, - to_char(srp.hoursdiff, 'HH24:MI'::text) as hoursdiff, + case when left(to_char(srp.hoursdiff, 'HH24:MI'),1) = '-' then '-' || replace(to_char(srp.hoursdiff, 'HH24:MI'),'-','') else to_char(srp.hoursdiff, 'HH24:MI') end as hoursdiff, to_char(srp.totalhours, 'HH24:MI'::text) AS totalhours, to_char(srp.payedhours, 'HH24:MI'::text) AS payedhours, - to_char(srp.transferedhourscalc, 'HH24:MI'::text) AS transferedhourscalc, + to_char(srp.avgtotalweekhours, 'HH24:MI'::text) AS avgtotalweekhours, + case when left(to_char(srp.transferedhourscalc, 'HH24:MI'),1) = '-' then '-' || replace(to_char(srp.transferedhourscalc, 'HH24:MI'),'-','') else to_char(srp.transferedhourscalc, 'HH24:MI') end as transferedhourscalc, '+' || suppvacancysunwork as suppvacancysunwork, '+' || suppvacancy44hours as suppvacancy44hours from ".$schema.".staffreportperiod srp @@ -217,11 +234,14 @@ order by rp.startdate,rp.enddate,st.surname,st.prename;"; to_char(srp.contracthours, 'HH24:MI'::text) AS contracthours, to_char(srp.workhours, 'HH24:MI'::text) AS workhours, to_char(srp.vacancyhours, 'HH24:MI'::text) AS vacancyhours, + to_char(srp.vacancyill, 'HH24:MI'::text) AS vacancyill, + to_char(srp.vacancynormal, 'HH24:MI'::text) AS vacancynormal, to_char(srp.recuperationhours, 'HH24:MI'::text) AS recuperationhours, - to_char(srp.hoursdiff, 'HH24:MI'::text) as hoursdiff, + case when left(to_char(srp.hoursdiff, 'HH24:MI'),1) = '-' then '-' || replace(to_char(srp.hoursdiff, 'HH24:MI'),'-','') else to_char(srp.hoursdiff, 'HH24:MI') end as hoursdiff, to_char(srp.totalhours, 'HH24:MI'::text) AS totalhours, to_char(srp.payedhours, 'HH24:MI'::text) AS payedhours, - to_char(srp.transferedhourscalc, 'HH24:MI'::text) AS transferedhourscalc, + to_char(srp.avgtotalweekhours, 'HH24:MI'::text) AS avgtotalweekhours, + case when left(to_char(srp.transferedhourscalc, 'HH24:MI'),1) = '-' then '-' || replace(to_char(srp.transferedhourscalc, 'HH24:MI'),'-','') else to_char(srp.transferedhourscalc, 'HH24:MI') end as transferedhourscalc, '+' || suppvacancysunwork as suppvacancysunwork, '+' || suppvacancy44hours as suppvacancy44hours from ".$schema.".staffreportperiod srp @@ -251,16 +271,16 @@ sub ReportPage(){ my $weeksums = $self->getPeriodWeekSums($schema,$data->{id_staff},$data->{startdate},$data->{enddate}); my $tblheader = "
 
"; + print FT "
Congé: "; + my $vleg = $self->{db}->querysorted("SELECT vacancyname,legend FROM ".$schema.".vacancytypes WHERE isworktime=true order by legend;"); + foreach my $v (sort {$a <=> $b} keys(%{$vleg})){ + print FT $vleg->{$v}->{legend}.") ".$vleg->{$v}->{vacancyname}." "; + } + print FT "
"; + print FT '
Récupération: '; + my $rleg = $self->{db}->querysorted("SELECT vacancyname,legend FROM ".$schema.".vacancytypes WHERE isworktime<>true order by legend;"); + foreach my $r (sort {$a <=> $b} keys(%{$rleg})){ + print FT $rleg->{$r}->{legend}.") ".$rleg->{$r}->{vacancyname}." "; + } + print FT "
Page /
- - - - - - - - - - + + + + + + + + + + "; my $txtpage = $tblheader; @@ -282,15 +302,15 @@ sub ReportPage(){ $cntr++; my @dspwd = split(',',$perioddata->{$pw}->{dspweekdates}); - $txtpage .=" - - - - - - - - + $txtpage .=" + + + + + + + + "; $wdk = 1; } @@ -298,7 +318,7 @@ sub ReportPage(){ while (($perioddata->{$pw}->{daydate} ne $wd[$wdk]) && $wdk le "7"){ if ($wdk == 0){$wdk++; next; } if (($perioddata->{$pw}->{daydate} gt $data->{startdate}) || ($perioddata->{$pw}->{daydate} lt $data->{enddate})){ - $txtpage .=""; + $txtpage .=""; } $wdk++; @@ -328,12 +348,12 @@ sub ReportPage(){
".$data->{dspstartdate}." - ".$data->{dspenddate}."".$data->{surname}." ".$data->{prename}."
SemaineLundiMardiMecrediJeudiVendrediSamediDimancheTotaux
".$data->{dspstartdate}." - ".$data->{dspenddate}."".$data->{surname}." ".$data->{prename}."
SemaineLundiMardiMecrediJeudiVendrediSamediDimancheTotaux
".$perioddata->{$pw}->{dspweekshort}."".$dspwd[0]."".$dspwd[1]."".$dspwd[2]."".$dspwd[3]."".$dspwd[4]."".$dspwd[5]."".$dspwd[6]."
".$perioddata->{$pw}->{dspweekshort}."".$dspwd[0]."".$dspwd[1]."".$dspwd[2]."".$dspwd[3]."".$dspwd[4]."".$dspwd[5]."".$dspwd[6]." 
  
- ".(($perioddata->{$pw}->{vacancyhours})?"
".$perioddata->{$pw}->{vacancyhours}."
":" ")." + ".(($perioddata->{$pw}->{vacancyhours})?"
".$perioddata->{$pw}->{vacancyhours}." ".$self->{legend}->{vacancy}->{$perioddata->{$pw}->{id_vacancytype}}->{legend}.")
":" ")."
- ".(($perioddata->{$pw}->{recuperationhours})?"
".$perioddata->{$pw}->{recuperationhours}."
":" ")." + ".(($perioddata->{$pw}->{recuperationhours})?"
".$perioddata->{$pw}->{recuperationhours}." ".$self->{legend}->{recup}->{$perioddata->{$pw}->{id_recuperationtype}}->{legend}.")
":" ")."
@@ -359,16 +379,7 @@ sub ReportPage(){
".$weeksums->{$ws}->{totalhours}."
- - -
".(($weeksums->{$ws}->{recperationhours} eq "00:00")?"":$weeksums->{$ws}->{recperationhours})."
- - - - -
".(($weeksums->{$ws}->{vacancyhours} eq "00:00")?"":$weeksums->{$ws}->{vacancyhours})."
- - + "; #
".(($weeksums->{$ws}->{diffhours} eq "00:00")?"":$weeksums->{$ws}->{diffhours})."
} @@ -381,7 +392,7 @@ sub ReportPage(){ #print STDERR "WDK: ".$wdk."\n"; if ($wdk gt "0"){ while ($wdk le "7"){ - $txtpage .=" "; + $txtpage .=" "; $wdk++; } if ($wdk gt "7"){ @@ -396,17 +407,18 @@ sub ReportPage(){
".$weeksums->{$ws}->{totalhours}."
- - -
".(($weeksums->{$ws}->{recperationhours} eq "00:00")?"":$weeksums->{$ws}->{recperationhours})."
- - - - -
".(($weeksums->{$ws}->{vacancyhours} eq "00:00")?"":$weeksums->{$ws}->{vacancyhours})."
- - + "; + # + # + #
".(($weeksums->{$ws}->{recperationhours} eq "00:00")?"":$weeksums->{$ws}->{recperationhours})."
+ # + # + # + # + #
".(($weeksums->{$ws}->{vacancyhours} eq "00:00")?"":$weeksums->{$ws}->{vacancyhours})."
+ # + # #
".(($weeksums->{$ws}->{diffhours} eq "00:00")?"":$weeksums->{$ws}->{diffhours})."
} $txtpage .= " @@ -421,28 +433,24 @@ sub ReportPage(){ # my $spt = $data->{sums}; $txtpage .= " - + - - - - - - - - - + + + + + + + - - - - - + + + + + - - - - + +
Totaux heures pour la période: ".$data->{dspstartdate}." - ".$data->{dspenddate}."
Résumée période de référence: ".$data->{dspstartdate}." - ".$data->{dspenddate}."
contrat:".$data->{contracthours}."travail:".$data->{workhours}."congés:".$data->{vacancyhours}."récupérées:".$data->{recuperationhours}."total:heures contractuelles:
heures travaillées:
".$data->{contracthours}."
".$data->{workhours}."
congé maladie:
congé:
".(($data->{vacancyill} ne '')?$data->{vacancyill} :"00:00")."
".(($data->{vacancynormal} ne '')?$data->{vacancynormal} :"00:00")."
heures
récupérées:
".$data->{recuperationhours}."
 
durée travail
réel prestée:
".$data->{totalhours}."décompte
reporté:
".$data->{transferedhourscalc}."heures
payées:
".$data->{payedhours}."décompte
fin POT:
moyenne durée
travail réel:
".$data->{avgtotalweekhours}."décompte reporté:
heures payées:
".(($data->{transferedhourscalc} ne '')?$data->{transferedhourscalc}:"00:00")."
".(($data->{payedhours} ne '')?$data->{payedhours}:"00:00")."
décompte
fin POT:
".$data->{hoursdiff}."congé suppl
+44h:
".$data->{suppvacancy44hours}."congé suppl.
dimache travaillé:
".$data->{suppvacancysunwork}."congé suppl. +44h:
congé suppl. dimache travaillé:
".(($data->{suppvacancy44hours} ne '')?$data->{suppvacancy44hours}:" ")."
".(($data->{suppvacancysunwork} ne '')?$data->{suppvacancysunwork}:" ")."
"; diff --git a/website/app/lib/POT/Workplan.pm b/website/app/lib/POT/Workplan.pm index 81316918..d7c3cfe4 100644 --- a/website/app/lib/POT/Workplan.pm +++ b/website/app/lib/POT/Workplan.pm @@ -87,6 +87,7 @@ sub getWorkplanDays(){ my $self = shift; my $schema = shift; my $id_workplan= shift; + my $payedpause = $self->{db}->query("select payedpauses from public.companies where schemata='".$schema."';"); my $sql ="SELECT wp.workplan, to_char(wp.weekhours, 'HH24:MI'::text) AS weekhours, wpd.id,wpd.id_workplan,wpd.weekday, @@ -94,14 +95,25 @@ sub getWorkplanDays(){ to_char(wpd.end1::interval, 'HH24:MI'::text) AS end1, to_char(wpd.start2::interval, 'HH24:MI'::text) AS start2, to_char(wpd.end2::interval, 'HH24:MI'::text) AS end2, - to_char(wpd.pause::interval, 'HH24:MI'::text) AS pause, - to_char( + to_char(wpd.pause::interval, 'HH24:MI'::text) AS pause,"; + if ($payedpause->{payedpauses} eq "1"){ + $sql .= "to_char( CASE WHEN wpd.end1 < wpd.start1 THEN wpd.end1::interval + '24:00:00'::interval ELSE wpd.end1::interval END - wpd.start1::interval + COALESCE( CASE WHEN wpd.end2 < wpd.start2 THEN wpd.end2::interval + '24:00:00'::interval ELSE wpd.end2::interval - END - wpd.start2::interval, '00:00:00'::interval) - COALESCE(wpd.pause::interval, '00:00:00'::interval), 'HH24:MI'::text) AS dayhours, - NULL::bigint AS staffcount, wpd.weeknum, + END - wpd.start2::interval, '00:00:00'::interval), 'HH24:MI'::text) AS dayhours,"; + } else { + $sql .= "to_char( + CASE WHEN wpd.end1 < wpd.start1 THEN wpd.end1::interval + '24:00:00'::interval ELSE wpd.end1::interval + END - wpd.start1::interval + COALESCE( + CASE WHEN wpd.end2 < wpd.start2 THEN wpd.end2::interval + '24:00:00'::interval + ELSE wpd.end2::interval + END - wpd.start2::interval, '00:00:00'::interval) - COALESCE(wpd.pause::interval, '00:00:00'::interval), 'HH24:MI'::text) AS dayhours,"; + } + + + $sql .="NULL::bigint AS staffcount, wpd.weeknum, CASE WHEN wpd.start2 IS NOT NULL AND wpd.end1 IS NOT NULL THEN to_char(wpd.start2::interval - wpd.end1::interval, 'HH24:MI'::text) ELSE NULL::text END AS interruption, to_char(wpd.pausestart1::interval, 'HH24:MI'::text) AS pausestart1, to_char(wpd.pauseend1::interval, 'HH24:MI'::text) AS pauseend1, diff --git a/website/app/lib/dksdb.pm b/website/app/lib/dksdb.pm index fe3281fa..a7f79a0f 100644 --- a/website/app/lib/dksdb.pm +++ b/website/app/lib/dksdb.pm @@ -20,7 +20,7 @@ sub new { my $class = shift; my $p = shift; my $self = bless {}, $class; - $self->{debug} = 1; + $self->{debug} = 0; $self->{dbh} = DBI->connect($p->{dsn},$p->{dbuser},$p->{dbpassword},{PrintError=>1,RaiseError=>1,AutoCommit=>1}) or return "query Connection Error!".$!; return $self; } diff --git a/website/app/lib/session.pm b/website/app/lib/session.pm index f08af64e..225a8b07 100644 --- a/website/app/lib/session.pm +++ b/website/app/lib/session.pm @@ -212,8 +212,8 @@ left join usergroups ugrp on (ugrp.id=us.id_usergroup) where se.id= '".$self->{db}->securetext($sid)."' and se.remote_addr= '".$ENV{REMOTE_ADDR}."' and se.user_agent= '".$ENV{HTTP_USER_AGENT}."' and us.isblocked is null group by se.id,us.id,ugrp.id;"; my $res= $self->{db}->querysorted($sql); - print STDERR "SESSION:".$sql."\n"; - print STDERR Dumper($res)."\n"; + #print STDERR "SESSION:".$sql."\n"; + #print STDERR Dumper($res)."\n"; my $ret = undef; # open FILE,">>tmp/sql.log"; # print FILE "GET DB Session\n"; diff --git a/website/app/static/js/timecalc.js b/website/app/static/js/timecalc.js index 489f487b..4b67b44b 100644 --- a/website/app/static/js/timecalc.js +++ b/website/app/static/js/timecalc.js @@ -59,7 +59,10 @@ let timecalc = { return ""; }, StringToInterval: function(strin){ - + let minus = ""; + if (strin.startsWith('-')){ + minus = '-'; + } if (strin.indexOf(":") > 0){ let spl = strin.split(":"); hours = spl[0].replace(/\D/g,''); @@ -70,11 +73,11 @@ let timecalc = { if (minutes > "59"){ minutes = "0"; } - return hours + ":" + timecalc.lpad(minutes,2,'0'); + return minus + hours + ":" + timecalc.lpad(minutes,2,'0'); } if (strin == ""){ return "";} strin = strin.replace(/\D/g,''); - return strin + ":00"; + return minus + strin + ":00"; }, MinutesToInterval: function(minutes){ @@ -117,7 +120,9 @@ let timecalc = { // }, copyInterval(obj,idobjout,factor){ if (factor){ + let mval = timecalc.IntervalToMinutes(obj.value) * factor; + console.log("minutes:" + mval); document.getElementById(idobjout).value = timecalc.MinutesToInterval(mval); }else { document.getElementById(idobjout).value=obj.value; diff --git a/website/app/tmpl/index.tt b/website/app/tmpl/index.tt index 07462830..a0cde6fe 100644 --- a/website/app/tmpl/index.tt +++ b/website/app/tmpl/index.tt @@ -1,4 +1,4 @@ -[% appversion = '0.9.2.2' %] +[% appversion = '0.9.2.3' %] diff --git a/website/app/tmpl/module/index.tt b/website/app/tmpl/module/index.tt index 3be30e5f..ade953c0 100644 --- a/website/app/tmpl/module/index.tt +++ b/website/app/tmpl/module/index.tt @@ -2,7 +2,7 @@
-
POT - Plan d'orgatisation du travail
+
Plan d'organisation du travail
Logout