FSN#36295: Uren ter goedkeuring kunnen vaker ter goedkeuring aangeboden worden.

svn path=/Website/trunk/; revision=29301
This commit is contained in:
Maykel Geerdink
2016-05-04 13:23:04 +00:00
parent e37422b780
commit 0742967a26

View File

@@ -272,7 +272,60 @@ if (urole != "fe" && canWrite)
<body class="modal" id="opdruren">
<% var buttons = [];
<%
// -------------------------------------
// Alle al eerder ingevulde uren ophalen
// -------------------------------------
var sql = "SELECT mld_opdr_uren.mld_opdr_uren_key"
+ " , mld_opdr_key"
+ " , mld_impropdr_key"
+ " , mld_opdr_uren_datum"
+ " , mld_opdr_uren_besteed"
+ " , mld_opdr_uren_status"
+ " , mld_opdr_uren_opmerking"
+ " , count(mld_opdruren_kosten_key) hasonkosten"
+ " FROM mld_opdr_uren, mld_opdruren_kosten"
+ " WHERE mld_opdr_uren_datum BETWEEN "+datefrom.toSQL()+" AND " + datefrom.endToSQL() + " + 6"
+ " AND mld_opdr_uren.prs_perslid_key = " + prs_key
+ " AND mld_opdr_uren.mld_opdr_uren_key = mld_opdruren_kosten.mld_opdr_uren_key(+)"
+ " GROUP BY mld_opdr_uren.mld_opdr_uren_key"
+ " , mld_opdr_key"
+ " , mld_impropdr_key"
+ " , mld_opdr_uren_datum"
+ " , mld_opdr_uren_besteed"
+ " , mld_opdr_uren_status"
+ " , mld_opdr_uren_opmerking";
var oRs = Oracle.Execute(sql);
existingUren = [];
var opdrkeys = [];
var anyKlaar = false;
while (!oRs.Eof)
{
anyKlaar = anyKlaar || (oRs("mld_opdr_uren_status")>1)
var opdr_key = oRs("mld_opdr_key").Value;
var impropdr_key = oRs("mld_impropdr_key").Value;
var arrKey = opdr_key? ("O" + opdr_key ): ("I" + impropdr_key);
if (!existingUren[arrKey])
{
if (opdr_key>0)
opdrkeys.push(opdr_key);
else
withImprod = true; // zeker tonen
existingUren[arrKey] = [];
existingUren[arrKey].hasonkosten = false;
}
existingUren[arrKey].hasonkosten = existingUren[arrKey].hasonkosten || oRs("hasonkosten").Value>0;
existingUren[arrKey] [ new Date(oRs("mld_opdr_uren_datum").Value).getTime() ]
= { key: oRs("mld_opdr_uren_key").Value,
besteed: oRs("mld_opdr_uren_besteed").Value,
status: oRs("mld_opdr_uren_status").Value,
opmerking: oRs("mld_opdr_uren_opmerking").Value == null? "" : oRs("mld_opdr_uren_opmerking").Value
};
oRs.MoveNext;
}
var buttons = [];
if (canWrite && urole=="bo")
buttons.push({title: L("lcl_mlduren_approve"), icon: "close.png", action:"weekDone(true)"});
else if (canWrite && !anyKlaar)
@@ -371,57 +424,6 @@ if (urole != "fe" && canWrite)
BLOCK_START("opdrUren", L("lcl_opdr_frame_algemeen") + " " + safe.html(userinfo.naam()), true);
// -------------------------------------
// Alle al eerder ingevulde uren ophalen
// -------------------------------------
var sql = "SELECT mld_opdr_uren.mld_opdr_uren_key"
+ " , mld_opdr_key"
+ " , mld_impropdr_key"
+ " , mld_opdr_uren_datum"
+ " , mld_opdr_uren_besteed"
+ " , mld_opdr_uren_status"
+ " , mld_opdr_uren_opmerking"
+ " , count(mld_opdruren_kosten_key) hasonkosten"
+ " FROM mld_opdr_uren, mld_opdruren_kosten"
+ " WHERE mld_opdr_uren_datum BETWEEN "+datefrom.toSQL()+" AND " + datefrom.endToSQL() + " + 6"
+ " AND mld_opdr_uren.prs_perslid_key = " + prs_key
+ " AND mld_opdr_uren.mld_opdr_uren_key = mld_opdruren_kosten.mld_opdr_uren_key(+)"
+ " GROUP BY mld_opdr_uren.mld_opdr_uren_key"
+ " , mld_opdr_key"
+ " , mld_impropdr_key"
+ " , mld_opdr_uren_datum"
+ " , mld_opdr_uren_besteed"
+ " , mld_opdr_uren_status"
+ " , mld_opdr_uren_opmerking";
var oRs = Oracle.Execute(sql);
existingUren = [];
var opdrkeys = [];
var anyKlaar = false;
while (!oRs.Eof)
{
anyKlaar = anyKlaar || (oRs("mld_opdr_uren_status")>1)
var opdr_key = oRs("mld_opdr_key").Value;
var impropdr_key = oRs("mld_impropdr_key").Value;
var arrKey = opdr_key? ("O" + opdr_key ): ("I" + impropdr_key);
if (!existingUren[arrKey])
{
if (opdr_key>0)
opdrkeys.push(opdr_key);
else
withImprod = true; // zeker tonen
existingUren[arrKey] = [];
existingUren[arrKey].hasonkosten = false;
}
existingUren[arrKey].hasonkosten = existingUren[arrKey].hasonkosten || oRs("hasonkosten").Value>0;
existingUren[arrKey] [ new Date(oRs("mld_opdr_uren_datum").Value).getTime() ]
= { key: oRs("mld_opdr_uren_key").Value,
besteed: oRs("mld_opdr_uren_besteed").Value,
status: oRs("mld_opdr_uren_status").Value,
opmerking: oRs("mld_opdr_uren_opmerking").Value == null? "" : oRs("mld_opdr_uren_opmerking").Value
};
oRs.MoveNext;
}
// Alle mld_opdr-achten waar ik op mag boeken
var sql = "SELECT mld_opdr_key,"
+ " -1 mld_impropdr_key,"