MARX#89309 plandatum in de opdrachten-lijst tonen, self-parameter toegevoegd en pagina-titel aangepast indien plandate(_from/_to) meegegeven
svn path=/Website/branches/v2025.3/; revision=70933
This commit is contained in:
@@ -32,7 +32,14 @@ var own = getQParamInt("own", 0) == 1;
|
|||||||
var klus = getQParamInt("klus", 0) == 1;
|
var klus = getQParamInt("klus", 0) == 1;
|
||||||
var disc_type = getQParamInt("grpby", 1); // 1 = Vakgroep (default), 2 = Behandelteam
|
var disc_type = getQParamInt("grpby", 1); // 1 = Vakgroep (default), 2 = Behandelteam
|
||||||
var deelsrtcont_key = getQParamInt("deelsrtcont_key", -1); // nieuwe melding vanuit een controletaak
|
var deelsrtcont_key = getQParamInt("deelsrtcont_key", -1); // nieuwe melding vanuit een controletaak
|
||||||
var self = getQParamInt("self", -1);
|
|
||||||
|
/* Self;
|
||||||
|
-2: Opdrachten zonder actieve behandelaar
|
||||||
|
0/null: Alle opdrachten, ongeacht actieve behandelaar
|
||||||
|
1: Opdrachten waarbij ik de actieve behandelaar ben
|
||||||
|
2: -2 & 1 (Dus; Geen actieve behandelaar, of ik ben de actieve behandelaar)
|
||||||
|
*/
|
||||||
|
var self = getQParamInt("self", null);
|
||||||
|
|
||||||
function getDistrictKey()
|
function getDistrictKey()
|
||||||
{
|
{
|
||||||
@@ -150,8 +157,14 @@ if (!hasParamFlag)
|
|||||||
|
|
||||||
// Op mobile een dag(en)overzicht tonen van opdrachten op basis van een from en een to datum, voor mij als contactpersoon van de uitvoerende.
|
// Op mobile een dag(en)overzicht tonen van opdrachten op basis van een from en een to datum, voor mij als contactpersoon van de uitvoerende.
|
||||||
// Die datums zijn dan gebaseerd op de plandatum.
|
// Die datums zijn dan gebaseerd op de plandatum.
|
||||||
var plandatefrom = getQParamDate("plandate_from", null);
|
var plandatefrom = getQParamDate("plandate_from", getQParamDate("plandate", null));
|
||||||
var plandateto = getQParamDate("plandate_to", null);
|
var plandateto = getQParamDate("plandate_to", plandatefrom);
|
||||||
|
plandatefrom = plandatefrom || plandateto;
|
||||||
|
// Nu zijn ze altijd allebei wel of allebei niet gedefinieerd
|
||||||
|
|
||||||
|
if (self === null) { // Default van self bij listmode = 1
|
||||||
|
self = 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{ // b. heb ik dan opdrachtrechten binnen een scope, dat is ORDBOF of ORDBO2? Dan mag ik opdrachten binnen de scope zien.
|
{ // b. heb ik dan opdrachtrechten binnen een scope, dat is ORDBOF of ORDBO2? Dan mag ik opdrachten binnen de scope zien.
|
||||||
@@ -184,10 +197,10 @@ if (!hasParamFlag)
|
|||||||
|
|
||||||
// Wel, afhankelijk van mijn bepaalde rol kan ik mijn overzicht anders willen,
|
// Wel, afhankelijk van mijn bepaalde rol kan ik mijn overzicht anders willen,
|
||||||
// toegespitster op mijn behoefte (listmode):
|
// toegespitster op mijn behoefte (listmode):
|
||||||
// 1. alle opdrachten, met de naam van de contactpersoon erbij (ik of mijn collega, leeg als ik)
|
// 1. Alle opdrachten, met de naam van de contactpersoon erbij (ik of mijn collega, leeg als ik)
|
||||||
// 2. alle opdrachten per uitvoerder, kan ik makkelijk afmelden
|
// 2. Alle opdrachten per uitvoerder, kan ik makkelijk afmelden
|
||||||
// 3. al mijn opdrachten, mijn todolijst
|
// 3. Al mijn opdrachten, mijn todolijst
|
||||||
// 4. alle opdracht van de meegegeven melding
|
// 4. Alle opdracht van de meegegeven melding
|
||||||
|
|
||||||
function grp_sel_listmode2(grp)
|
function grp_sel_listmode2(grp)
|
||||||
{
|
{
|
||||||
@@ -215,7 +228,7 @@ if (!hasParamFlag)
|
|||||||
+ " , o.mld_opdr_bedrijfopdr_volgnr"
|
+ " , o.mld_opdr_bedrijfopdr_volgnr"
|
||||||
+ " , o.mld_statusopdr_key"
|
+ " , o.mld_statusopdr_key"
|
||||||
+ " , (SELECT p.prs_perslid_naam_full FROM prs_v_perslid_fullnames_all p WHERE p.prs_perslid_key = o.prs_perslid_key) behandelaar"
|
+ " , (SELECT p.prs_perslid_naam_full FROM prs_v_perslid_fullnames_all p WHERE p.prs_perslid_key = o.prs_perslid_key) behandelaar"
|
||||||
+ " , (SELECT " + S("prs_contactpers_string") + " FROM prs_contactpersoon cp WHERE cp.prs_contactpersoon_key = o.prs_contactpersoon_key) contactpersoon"
|
+ " , " + S("prs_contactpers_string") + " contactpersoon"
|
||||||
+ " , mu.naam"
|
+ " , mu.naam"
|
||||||
+ " , mu.type"
|
+ " , mu.type"
|
||||||
+ " , mu.intern"
|
+ " , mu.intern"
|
||||||
@@ -276,11 +289,13 @@ if (!hasParamFlag)
|
|||||||
+ " , alg_locatie l"
|
+ " , alg_locatie l"
|
||||||
+ " , alg_district di"
|
+ " , alg_district di"
|
||||||
+ " , mld_v_uitvoerende mu"
|
+ " , mld_v_uitvoerende mu"
|
||||||
|
+ " , prs_contactpersoon cp"
|
||||||
+ " WHERE o.mld_melding_key = m.mld_melding_key (+)"
|
+ " WHERE o.mld_melding_key = m.mld_melding_key (+)"
|
||||||
+ " AND m.mld_stdmelding_key = std.mld_stdmelding_key (+)"
|
+ " AND m.mld_stdmelding_key = std.mld_stdmelding_key (+)"
|
||||||
+ " AND std.mld_ins_discipline_key = d.ins_discipline_key (+)"
|
+ " AND std.mld_ins_discipline_key = d.ins_discipline_key (+)"
|
||||||
+ " AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key (+)"
|
+ " AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key (+)"
|
||||||
+ " AND o.mld_uitvoerende_keys = mu.mld_uitvoerende_key" // type b of p toch nog ergens doen@?
|
+ " AND o.mld_uitvoerende_keys = mu.mld_uitvoerende_key" // type b of p toch nog ergens doen@?
|
||||||
|
+ " AND cp.prs_contactpersoon_key(+) = o.prs_contactpersoon_key"
|
||||||
+ (grp_sel==""
|
+ (grp_sel==""
|
||||||
? ""
|
? ""
|
||||||
: (listmode == 2
|
: (listmode == 2
|
||||||
@@ -325,56 +340,19 @@ if (!hasParamFlag)
|
|||||||
|
|
||||||
if (listmode == 1)
|
if (listmode == 1)
|
||||||
{
|
{
|
||||||
var sql_plandate = "";
|
var plandate_where = "";
|
||||||
var ora_date1;
|
var oneday = false;
|
||||||
var ora_date2;
|
if (plandatefrom || plandateto) {
|
||||||
var day_is_the_same = false;
|
var oneday = plandatefrom.midnight().getTime() == plandateto.midnight().getTime();
|
||||||
if (plandatefrom && plandateto)
|
plandate_where = " AND o.mld_opdr_plandatum BETWEEN " + plandatefrom.beginToSQL() + " AND " + plandateto.endToSQL();
|
||||||
{
|
|
||||||
ora_date1 = plandatefrom.beginToSQL();
|
|
||||||
ora_date2 = plandateto.endToSQL();
|
|
||||||
day_is_the_same = (plandatefrom.midnight().getTime() == plandateto.midnight().getTime())
|
|
||||||
}
|
}
|
||||||
else if (plandatefrom)
|
|
||||||
{
|
|
||||||
ora_date1 = plandatefrom.beginToSQL();
|
|
||||||
ora_date2 = plandatefrom.endToSQL();
|
|
||||||
day_is_the_same = true;
|
|
||||||
}
|
|
||||||
else if (plandateto)
|
|
||||||
{
|
|
||||||
ora_date1 = plandateto.beginToSQL();
|
|
||||||
ora_date2 = plandateto.endToSQL();
|
|
||||||
day_is_the_same = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (day_is_the_same)
|
|
||||||
{ // ora_date1 en ora_date2 zijn op dezelfde dag.
|
|
||||||
var sqld = "SELECT fac.datumtijdplusuitvoertijd (" + ora_date1 + ", 0, 'DAGEN') date1 FROM DUAL";
|
|
||||||
var oRsd = Oracle.Execute(sqld);
|
|
||||||
var ora_date1 = new Date(oRsd("date1").Value).beginToSQL();
|
|
||||||
var ora_date2 = new Date(oRsd("date1").Value).endToSQL();
|
|
||||||
oRsd.close();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Op mobile een dag(en)overzicht tonen van opdrachten op basis van een from en een to datum, voor mij als contactpersoon van de uitvoerende.
|
|
||||||
// Die datums zijn dan gebaseerd op de plandatum en binnen die datums gesorteerd op tijd (van diezelfde plandatum).
|
|
||||||
// Ook evt. opdrachten die aan geen contactpersoon zijn toegekend (dus leeg zijn), wil ik in dat dagoverzicht kunnen bekijken.
|
|
||||||
if (ora_date1 && ora_date2)
|
|
||||||
sql_plandate = " AND o.mld_opdr_plandatum BETWEEN " + ora_date1 + " AND " + ora_date2;
|
|
||||||
+ " AND ((SELECT prs_contactpersoon_key"
|
|
||||||
+ " FROM prs_contactpersoon"
|
|
||||||
+ " WHERE prs_perslid_key = " + user_key
|
|
||||||
+ " AND prs_contactpersoon_verwijder IS NULL"
|
|
||||||
+ " AND prs_bedrijf_key = o.mld_uitvoerende_keys) = o.prs_contactpersoon_key"
|
|
||||||
+ " OR o.prs_contactpersoon_key IS NULL)"
|
|
||||||
|
|
||||||
sql += " AND EXISTS (SELECT 'X' " // Ben ik contactpersoon van het uitvoerende externe bedrijf.
|
sql += " AND EXISTS (SELECT 'X' " // Ben ik contactpersoon van het uitvoerende externe bedrijf.
|
||||||
+ " FROM prs_contactpersoon"
|
+ " FROM prs_contactpersoon"
|
||||||
+ " WHERE prs_perslid_key = " + user_key
|
+ " WHERE prs_perslid_key = " + user_key
|
||||||
+ " AND prs_contactpersoon_verwijder is null "
|
+ " AND prs_contactpersoon_verwijder is null "
|
||||||
+ " AND prs_bedrijf_key = o.mld_uitvoerende_keys)"
|
+ " AND prs_bedrijf_key = o.mld_uitvoerende_keys)"
|
||||||
+ sql_plandate;
|
+ plandate_where;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (listmode == 3)
|
if (listmode == 3)
|
||||||
@@ -394,6 +372,27 @@ if (!hasParamFlag)
|
|||||||
+ " , prs_v_aanwezigafdeling a"
|
+ " , prs_v_aanwezigafdeling a"
|
||||||
+ " WHERE p.prs_afdeling_key = a.prs_afdeling_key"
|
+ " WHERE p.prs_afdeling_key = a.prs_afdeling_key"
|
||||||
+ " AND p.prs_perslid_key = " + user_key + ")";
|
+ " AND p.prs_perslid_key = " + user_key + ")";
|
||||||
|
if (self) {
|
||||||
|
// Self heeft betrekking op de actieve behandelaar, dat kan zowel de contactpersoon als de behandelaar zijn
|
||||||
|
// -2: Opdrachten zonder actieve behandelaar
|
||||||
|
// 0/null: Alle opdrachten, ongeacht actieve behandelaar
|
||||||
|
// 1: Opdrachten waarbij ik de actieve behandelaar ben
|
||||||
|
// 2: -2 & 1 (Dus; Geen actieve behandelaar, of ik ben de actieve behandelaar)
|
||||||
|
switch (self) {
|
||||||
|
case -2:
|
||||||
|
sql += " AND COALESCE(o.prs_contactpersoon_key, o.prs_perslid_key) IS NULL";
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
sql += " AND ( cp.prs_perslid_key = " + user_key
|
||||||
|
+ " OR o.prs_perslid_key = " + user_key + ")";
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
sql += " AND ( COALESCE(o.prs_contactpersoon_key, o.prs_perslid_key) IS NULL"
|
||||||
|
+ " OR cp.prs_perslid_key = " + user_key
|
||||||
|
+ " OR o.prs_perslid_key = " + user_key + ")";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Een afmelder (ORDBO2 of EXTORD) mag externe opdrachten zien/afmelden onder bepaalde voorwaarden:
|
// Een afmelder (ORDBO2 of EXTORD) mag externe opdrachten zien/afmelden onder bepaalde voorwaarden:
|
||||||
// EXTORD: Hij mag opdrachten zien/afmelden van externe bedrijven waar hij contactpersoon van is,
|
// EXTORD: Hij mag opdrachten zien/afmelden van externe bedrijven waar hij contactpersoon van is,
|
||||||
@@ -455,8 +454,7 @@ if (!hasParamFlag)
|
|||||||
sql = "SELECT * FROM (" + sqlA + ") ORDER BY "
|
sql = "SELECT * FROM (" + sqlA + ") ORDER BY "
|
||||||
+ ((grp_sel == "" && listmode == 2)
|
+ ((grp_sel == "" && listmode == 2)
|
||||||
? " naam, mld_opdr_datumbegin"
|
? " naam, mld_opdr_datumbegin"
|
||||||
: (listmode == 1 && ora_date1 && ora_date2? " mld_opdr_plandatum," : "") + " actief DESC, halted, einddatum, opdracht")
|
: (listmode == 1 && plandatefrom ? " mld_opdr_plandatum," : "") + " actief DESC, halted, einddatum, opdracht");
|
||||||
|
|
||||||
|
|
||||||
function fncolLink(oRs)
|
function fncolLink(oRs)
|
||||||
{
|
{
|
||||||
@@ -516,7 +514,7 @@ if (!hasParamFlag)
|
|||||||
+ (actiecode & 4 ? "<span class='ac'>" + I("fa-comment-smile fa-flip-horizontal", { fastyle: "far" }) + " " + L("lcl_mld_actiecodeUITV") + "</span><br>" : "")
|
+ (actiecode & 4 ? "<span class='ac'>" + I("fa-comment-smile fa-flip-horizontal", { fastyle: "far" }) + " " + L("lcl_mld_actiecodeUITV") + "</span><br>" : "")
|
||||||
+ (oRs("plaatsmelding").Value? "" + I("fa-map-marker", { fastyle: "far" }) + " "+safe.html(oRs("plaatsmelding").Value) + "<br>" : "")
|
+ (oRs("plaatsmelding").Value? "" + I("fa-map-marker", { fastyle: "far" }) + " "+safe.html(oRs("plaatsmelding").Value) + "<br>" : "")
|
||||||
+ (safeuitv != "" ? safeuitv + "<br>" : "")
|
+ (safeuitv != "" ? safeuitv + "<br>" : "")
|
||||||
+ "" + I("fa-clock", { fastyle: "far" }) + " " + toDateTimeString(oRs("mld_opdr_einddatum").Value, false, false, true)
|
+ "" + I("fa-clock", { fastyle: "far" }) + " " + toDateTimeString(oRs("einddatum").Value, false, false, true, true)
|
||||||
+ (flagkey ? "<br> <span class='opdrflag"+flagkey+"'>" + I("fa-fclt-flag", { fastyle: "far" }) + "</span> " + L("lcl_opdr_flag" + flagkey) : "")
|
+ (flagkey ? "<br> <span class='opdrflag"+flagkey+"'>" + I("fa-fclt-flag", { fastyle: "far" }) + "</span> " + L("lcl_opdr_flag" + flagkey) : "")
|
||||||
+ "</div>"
|
+ "</div>"
|
||||||
+ "<div class='listbodytext'>" + safe.html(shorttxt(oRs("mld_opdr_omschrijving").Value, S("rs_mobile_maxchar"))) + "</div>";
|
+ "<div class='listbodytext'>" + safe.html(shorttxt(oRs("mld_opdr_omschrijving").Value, S("rs_mobile_maxchar"))) + "</div>";
|
||||||
@@ -527,11 +525,23 @@ if (!hasParamFlag)
|
|||||||
// Om wat explicieter te zijn in wat we zien specifieke titels per mode
|
// Om wat explicieter te zijn in wat we zien specifieke titels per mode
|
||||||
var listtitle = L("lcl_mobile_opdrachten");
|
var listtitle = L("lcl_mobile_opdrachten");
|
||||||
switch (listmode) {
|
switch (listmode) {
|
||||||
case 1: listtitle = L("lcl_mobile_opdrachten1"); break;
|
case 1:
|
||||||
|
if (plandatefrom) {
|
||||||
|
var datefrom_str = toDateString(plandatefrom, true, true).toLowerCase();
|
||||||
|
if (oneday) {
|
||||||
|
listtitle = "Planning van {0}".format(datefrom_str);
|
||||||
|
} else {
|
||||||
|
listtitle = "Planning van {0} t/m {1}".format(datefrom_str, toDateString(plandateto, true, true).toLowerCase());
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
listtitle = L("lcl_mobile_opdrachten1");
|
||||||
|
}
|
||||||
|
break;
|
||||||
case 2: listtitle = L("lcl_mobile_opdrachten2") + " " + CurrentPositionMinus1; break; /* is niveau hoger */
|
case 2: listtitle = L("lcl_mobile_opdrachten2") + " " + CurrentPositionMinus1; break; /* is niveau hoger */
|
||||||
case 3: listtitle = L("lcl_mobile_opdrachten3") + " " + CurrentPositionMinus1; break; /* is niveau hoger */
|
case 3: listtitle = L("lcl_mobile_opdrachten3") + " " + CurrentPositionMinus1; break; /* is niveau hoger */
|
||||||
case 4: listtitle = L("lcl_mobile_opdrachten") + " " + L("lcl_mobile_objbijmelding") + " " + meldingNr; break;
|
case 4: listtitle = L("lcl_mobile_opdrachten") + " " + L("lcl_mobile_objbijmelding") + " " + meldingNr; break;
|
||||||
}
|
}
|
||||||
|
|
||||||
var addaction = (addAllowed? "../pda/order.asp?mld_key=" + mld_key : "");
|
var addaction = (addAllowed? "../pda/order.asp?mld_key=" + mld_key : "");
|
||||||
|
|
||||||
PAGE_START({datacache:false});
|
PAGE_START({datacache:false});
|
||||||
|
|||||||
Reference in New Issue
Block a user