ARAI#38181: Opdracht-uitvoeringsconsole.

svn path=/Website/trunk/; revision=33689
This commit is contained in:
Maykel Geerdink
2017-05-04 13:48:31 +00:00
parent 1f8b6db5db
commit 392e56511f
5 changed files with 877 additions and 665 deletions

View File

@@ -123,7 +123,7 @@ function prettyJson(j)
<iframe width="100%" height="100%"
src="../Shared/empty.asp"
name="workFrame" id="workFrame"
onload="FcltMgr.iframeLoaded(this, false, true)"
onload="FcltMgr.iframeLoaded(this, {widthToo: false, largerOnly: true})"
frameborder="0" scrolling="no">
</iframe>
</div>

182
APPL/MLD/mld.css Normal file
View File

@@ -0,0 +1,182 @@
/*
* $Revision$
* $Id$
*/
/* CSS code voor opdrachten planbord opdr_plan.inc. */
#pbMaxHistoryB, #pbMaxHistoryE {
clear: both;
color: blue;
background-color: white;
font-weight: bold;
padding: 1px 8px 1px 1px;
margin: 0;
line-height: 15px;
font-size: 1em;
}
#pbMaxHistoryB A, #pbMaxHistoryE A {
color: red;
text-decoration: none;
}
.fcltcardbox {
position: relative;
width: 200px;
/*height: 300px;*/
padding: 0px;
background: #EFEFEF;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;
border: #EFEFEF solid 10px;
float: left;
margin-left: 5px;
margin-top: 5px;
}
.fcltcardboxhead {
background-color: #EFEFEF;
color: #000000;
font-weight: bold;
font-size: 1.1em;
height: 25px;
}
.fcltcard {
position: relative;
width: 200px;
/*height: 300px;*/
background-color: #FFFFFF;
background: #FFFFFF;
border: 1px solid;
float: left;
color: #000000;
/*margin-left: 5px;*/
margin-top: 5px;
}
.fcltcard:hover {
color: #00a;
}
html#planhtml {
background-color: #D9F4FF;
}
.sortable .fcltcardtab {
cursor: move;
}
.fcltcardtab td {
padding-left: 4px;
}
.fcltcardtab td.profile {
padding: 2px 0 0 2px;
}
.cardbeheerder {
background-color: #559CB9;
min-height: 72px;
}
.cardbeheerder.uitvbe {
background-color: #C99CA8; /* Bedrijf Extern. */
}
.cardbeheerder.uitvbi {
background-color: #55B99C; /* Bedrijf Intern. */
}
.cardbeheerder.uitvpi {
background-color: #559CB9; /* Persoon Intern. */
}
.cardbeheerder.uitvnt {
background-color: #8F6329; /* Niet Toegewezen. CD4A48 5ED75F*/
}
.cardbeheerder.goto {
background-color: #DAA520;
}
.cardbeheerder .profile img.profile {
max-height: 64px;
}
.cardname {
font-weight: bold;
color: #fff;
line-height: 1.2em;
}
.cardsubname {
color: #eee;
line-height: 1em;
}
.carddate {
font-size: 0.8em;
color: #999;
padding-left: 6px;
}
.cardplace {
font-size: 0.8em;
color: #999;
}
.cardopdrtxt {
font-style: italic;
font-size: 0.8em;
line-height: 1.05em;
color: #222;
}
.cardorders {
}
div.latecard {
background-color: #FFF0F0;
color: #9C0006;
border-color: #9C0006;
}
div.pholder {
background-color: #DAA520; /* Voor het testen pholder zichtbaar (show()) en rood (#DA0000) maken. Dan is de clone kaart goed zichtbaar. */
}
div.cardmoved {
background-color: #AEE9FF;
}
div.cardnotmoved {
background-color: #E35931; /* ED4429 */
}
.ui-sortable-helper {
background-color: #FFDC23;
}
div.selectedcard {
background-color: #DAA520;
}
div.disable-sort-item, span.disable-sort-item {
background-color: #F5F5F5;
/* Maak alle tekst unselectable */
-webkit-touch-callout: none; /* iOS Safari */
-webkit-user-select: none; /* Safari */
-khtml-user-select: none; /* Konqueror HTML */
-moz-user-select: none; /* Firefox */
-ms-user-select: none; /* Internet Explorer/Edge */
user-select: none; /* Non-prefixed version, currently
supported by Chrome and Opera */
}
.cardopdrnochange {
/*font-size: 1em; */
/*vertical-align: top; */
/*margin-top: 3px; */
color: #CC0000;
}
div.activecard {
background-color: #FFFA7A; /*#E8FFE8;*/
border-color: #333;
}
div.activecard.halt {
background-color: #FFCA7B; /*#E8FFE8;*/
border-color: #333;
}
/* div.activecard.resume {
background-color: #FFE57A; / *#E8FFE8;* /
border-color: #333;
} */
div.legendaright {
float: right;
padding-left: 8px;
padding-right: 8px;
}
div.legendaleft {
float: left;
}
.placeholderclass {
background: red !important;
/*visibility: visible; */
display:none;
/*width: inherited; */
/*height:inherited; */
}

View File

@@ -303,15 +303,11 @@ mld = {setmeldingstatus:
getFirstApprover:
function (mld_info, mld_opdr)
{
//var mld_opdr = mld.mld_opdr_info(opdr_key);
//var mld_info = mld.mld_melding_info(mld_opdr.mld_key);
// Bepalen eerste persoon om te fiatteren.
var approver_key = -1;
var prsname = "";
var pkey = -1;
var for_approval = false;
//var mld_info = mld.mld_melding_info(mld_opdr.mld_key);
// Als de kostenplaats bij de opdracht overruled is dan wordt altijd tegen het profiel van de BO-medewerker getest.
if (mld_info.mld_kk == 1 && mld_info.kostenpl_key == mld_opdr.kp_key)
pkey = mld_info.melder_key; // Melder van de melding.
@@ -653,16 +649,13 @@ mld = {setmeldingstatus:
+ " AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key"
+ " AND o.mld_typeopdr_key = top.mld_typeopdr_key"
+ " AND o.mld_uitvoerende_keys = mu.mld_uitvoerende_key"
+ " AND o.prs_perslid_key = " + (pprs_key? pprs_key : "(SELECT o2.prs_perslid_key FROM mld_opdr o2 WHERE o2.mld_opdr_key = " + popdr_key + ")")
+ " AND o.mld_uitvoerende_keys = " + (puitv_key? puitv_key : "(SELECT o2.mld_uitvoerende_keys FROM mld_opdr o2 WHERE o2.mld_opdr_key = " + popdr_key + ")")
+ " AND o.prs_perslid_key = " + (pprs_key > 0? pprs_key : "(SELECT o2.prs_perslid_key FROM mld_opdr o2 WHERE o2.mld_opdr_key = " + popdr_key + ")")
+ " AND o.mld_uitvoerende_keys = " + (puitv_key > 0? puitv_key : "(SELECT o2.mld_uitvoerende_keys FROM mld_opdr o2 WHERE o2.mld_opdr_key = " + popdr_key + ")")
+ " AND o.mld_statusopdr_key = 8" // Alleen Actieve (Status Geaccepteerd(8)) opdrachten.
+ " AND top.mld_typeopdr_sequential = 1" // Alleen opdrachten die sequentieel uitgevoerd moeten worden.
+ (mode == "A"
? " AND (fac.gettrackingdate('ORDHLT', o.mld_opdr_key) IS NULL" // Alleen geaccepteerde(8) en hervatte(82) opdrachten.
+ " OR (fac.gettrackingdate('ORDRSM', o.mld_opdr_key) IS NOT NULL AND"
+ " fac.gettrackingdate('ORDHLT', o.mld_opdr_key) < fac.gettrackingdate('ORDRSM', o.mld_opdr_key)))"
: " AND fac.gettrackingdate('ORDHLT', o.mld_opdr_key) IS NOT NULL"
+ " AND (fac.gettrackingdate('ORDRSM', o.mld_opdr_key) IS NULL OR fac.gettrackingdate('ORDHLT', o.mld_opdr_key) > fac.gettrackingdate('ORDRSM', o.mld_opdr_key))")
? " AND o.mld_opdr_halted = 0"
: " AND o.mld_opdr_halted = 1")
+ " AND mu.intern = 1" // Alleen interne uitvoerders.
+ " AND mld_opdr_key != " + popdr_key;
var oRs = Oracle.Execute(sql);
@@ -2611,9 +2604,9 @@ mld = {setmeldingstatus:
+ " , fac_faq_datum DESC"
+ " , fac_faq_question";
var oRs = Oracle.Execute(sql);
result.popup_faq = false;
while (!oRs.EOF)
{
result.faq_popup = false;
var displaymode = oRs("fac_faq_displaymode").Value;
if (displaymode == 0) // Auto
{
@@ -2648,7 +2641,93 @@ mld = {setmeldingstatus:
return result;
},
alg_faq_info:
function _alg_faq(loc_key, alg_key) {
if (!loc_key || loc_key == -1) return; // Minimal requirement
var filtWHERE = " WHERE af.alg_locatie_key = " + loc_key
+ " AND af.alg_onroerendgoed_keys";
if (alg_key && alg_key != -1)
{
var algKeys = "SELECT COALESCE(alg_ruimte_key, -1) rk,"
+ " COALESCE(alg_verdieping_key, -1) vk,"
+ " COALESCE(alg_gebouw_key, -1) gk,"
+ " COALESCE(alg_terreinsector_key, -1) tk"
+ " FROM alg_v_allonroerendgoed"
+ " WHERE alg_onroerendgoed_keys = " + alg_key;
var keysoRs = Oracle.Execute(algKeys);
var alg_key_arr = [];
alg_key_arr.push(keysoRs("rk").Value);
alg_key_arr.push(keysoRs("vk").Value);
alg_key_arr.push(keysoRs("gk").Value);
alg_key_arr.push(keysoRs("tk").Value);
keysoRs.Close();
filtWHERE += " IN (" + alg_key_arr + ")";
}
else
filtWHERE += " IS NULL";
var canFAQUSEread = user.checkAutorisation("WEB_FAQUSE", true);
var canFAQFOFread = user.checkAutorisation("WEB_FAQFOF", true);
var faq_bits = 0;
if (canFAQUSEread)
faq_bits += 1;
if (canFAQFOFread)
faq_bits += 2;
var sql = "SELECT ff.fac_faq_key, "
+ " fac_faq_question, "
+ " fac_faq_answer, "
+ " fac_faq_url, "
+ " fac_faq_level, "
+ " fac_faq_displaymode"
+ " FROM fac_faq ff"
+ " , alg_algfaq af"
+ filtWHERE
+ " AND ff.fac_faq_key = af.fac_faq_key"
+ " AND BITAND(fac_faq_level," + faq_bits + ") <> 0"
+ " AND fac_faq_datum < SYSDATE"
+ " AND (fac_faq_lang = " + safe.quoted_sql(user_lang) + " OR fac_faq_lang IS NULL)"
+ " ORDER BY fac_faq_rank DESC NULLS LAST"
+ " , fac_faq_datum DESC"
+ " , fac_faq_question";
var oRs = Oracle.Execute(sql);
var result = { fixed_faq: [], popup_faq: false};
while (!oRs.EOF)
{
var displaymode = oRs("fac_faq_displaymode").Value;
if (displaymode == 0) // Auto
{
if ( ((S("faq_kennisbank_popup") & 1) && canFAQUSEread) // Voor FE
|| ((S("faq_kennisbank_popup") & 2) && canFAQFOFread)) // Voor FO
result.popup_faq = true
}
else
{
var data = { question: oRs("fac_faq_question").Value,
answer: safe.fclthtml(oRs("fac_faq_answer").Value),
displaymode: oRs("fac_faq_displaymode").Value
};
var fac_url = oRs("fac_faq_url").value;
if (fac_url)
{
var arr = fac_url.split("|");
var hurl = arr[0];
data.hlnk = arr.length>1?arr[1]:hurl;
if (hurl.slice(0,4) == "http") // extern
data.hurl = hurl;
else // in cust subdir
data.hurl = custpath + "/" + hurl;
}
result.fixed_faq.push(data);
}
oRs.MoveNext();
}
oRs.Close();
return result;
},
func_enabled_mld: // Heb ik als FO, BO, of FE, enige write rechten voor een discipline binnen de meegekregen discipline string
function _func_enabled_mld(pkey, ptype) {
// is pkey een srtdiscipline of discipline
@@ -3137,8 +3216,7 @@ mld = {setmeldingstatus:
+ " , fac.gettrackinguserkey('ORDFOK', " + pmld_opdr_key + ") fiat_trackinguser_key"
+ " , fac.gettrackingdate('ORDFIA', o.mld_opdr_key) trackdateFIA"
+ " , fac.gettrackingdate('ORDFOK', o.mld_opdr_key) trackdateFOK"
+ " , fac.gettrackingdate('ORDHLT', o.mld_opdr_key) trackdateHLT"
+ " , fac.gettrackingdate('ORDRSM', o.mld_opdr_key) trackdateRSM"
+ " , o.mld_opdr_halted"
+ " , o.mld_opdr_kosten"
+ " , mto.mld_typeopdr_zichtbaarfe"
+ " , o.mld_opdr_teverzenden"
@@ -3208,8 +3286,7 @@ mld = {setmeldingstatus:
opdr_status == 3 && // Opdracht staat "Ter fiattering"
moRs("trackdateFIA").Value != null && moRs("trackdateFOK").Value != null && // Er is al gefiatteerd
moRs("trackdateFIA").Value < moRs("trackdateFOK").Value; // De eerste fiatteur heeft opnieuw gefiatteerd.
var trackdateHLT = moRs("trackdateHLT").Value != null? new Date(moRs("trackdateHLT").Value) : null;
var trackdateRSM = moRs("trackdateRSM").Value != null? new Date(moRs("trackdateRSM").Value) : null;
var halted = moRs("mld_opdr_halted").Value == 1;
var typehas_cost = moRs("mld_typeopdr_kosten").Value == 1;
var decentraal = moRs("mld_typeopdr_decentraal").Value;
var isofferte = moRs("mld_typeopdr_isofferte").Value == 1;
@@ -3412,6 +3489,9 @@ mld = {setmeldingstatus:
var myBO2FieldChange = (myBO2Change && !mresult.iamBedrijfContact);
// Voor de ORDBO2-er moet de uitvoerende wel die van mijn interne bedrijf zijn.
var myBO2Change = myBO2Change && (uitv_key == user.afdeling().prs_bedrijf_key());
__Log("myBO2Change: " + myBO2Change);
switch (opdr_status)
@@ -3500,8 +3580,8 @@ mld = {setmeldingstatus:
(mresult.canWrite("WEB_ORDBO2") && myBO2Change) ||
(mresult.canWrite("WEB_MLDORD") && user.isCollega(uitv_key))) &&
!is_planned_action;
mresult.canOnderbreken = mresult.canCloseRights && opdr_status == 8 && (trackdateHLT == null || (trackdateRSM != null && trackdateHLT < trackdateRSM));
mresult.canHervatten = mresult.canCloseRights && opdr_status == 8 && trackdateHLT != null && (trackdateRSM == null || trackdateHLT > trackdateRSM);
mresult.canOnderbreken = mresult.canCloseRights && opdr_status == 8 && !halted;
mresult.canHervatten = mresult.canCloseRights && opdr_status == 8 && halted;
mresult.canClose = mresult.canCloseRights && !mresult.canHervatten;
mresult.canCopy = (mresult.canWrite("WEB_ORDBOF") && !is_planned_action && !mld_afgerond);
mresult.canVeldChange = (mresult.canWrite("WEB_ORDBOF") ||
@@ -4534,6 +4614,7 @@ mld = {setmeldingstatus:
var opdr_key = params.opdr_key; // opdracht nummer is voor de gebruiker hetzelfde als mld_key
var intopdr_key = params.intopdr_key; // de technische echte mld_opdr_key
var behandel_key = params.behandel_key;
var beh_key_arr = params.beh_key_arr; // Array met keys (e.g. [3, 4, 5])
var srtdisc_key = params.srtdisc_key;
var searchtekst = params.searchtekst;
var reg_key = params.reg_key;
@@ -4583,51 +4664,6 @@ mld = {setmeldingstatus:
var mldopdrstrej = params.mldopdrstrej;
var mldopdrstafm = params.mldopdrstafm;
var mldopdrstver = params.mldopdrstver;
//var justClose = params.justClose;
// close_only is vervangen door (pautfunction == "WEB_ORDBO2"): Als je die rechten hebt mag je ook afmelden
//var mldstpen = params.mldstpen;
//var mldstnew = params.mldstnew;
//var mldsting = params.mldsting;
//var mldstacc = params.mldstacc;
//var mldstuit = params.mldstuit;
//var mldstrej = params.mldstrej;
//var mldstafm = params.mldstafm;
//var mldstver = params.mldstver;
//var mldnieto = params.mldnieto;
//var mldopdrstrej = params.mldopdrstrej;
//var mldopdrstnak = params.mldopdrstnak;
//var mldopdrsttfi = params.mldopdrsttfi;
//var mldopdrstfia = params.mldopdrstfia;
//var mldopdrstuit = params.mldopdrstuit;
//var mldopdrstafm = params.mldopdrstafm;
//var mldopdrstver = params.mldopdrstver;
//var mldopdrstacp = params.mldopdrstacp;
//var mldopdrstafr = params.mldopdrstafr;
//var mldopdrstgoe = params.mldopdrstgoe;
//var showstatus = "";
//if (mldstpen) showstatus = (showstatus == ""? "" : showstatus + ",") + "0";
//if (mldstrej) showstatus = (showstatus == ""? "" : showstatus + ",") + "1";
//if (mldstnew) showstatus = (showstatus == ""? "" : showstatus + ",") + "2";
//if (mldsting) showstatus = (showstatus == ""? "" : showstatus + ",") + "3";
//if (mldstacc) showstatus = (showstatus == ""? "" : showstatus + ",") + "4";
//if (mldstafm) showstatus = (showstatus == ""? "" : showstatus + ",") + "5";
//if (mldstver) showstatus = (showstatus == ""? "" : showstatus + ",") + "6";
//if (mldstuit) showstatus = (showstatus == ""? "" : showstatus + ",") + "7";
//if (mldnieto) showstatus = (showstatus == ""? "" : showstatus + ",") + "99";
//var from_mld = (showstatus != "");
//var showopdrstatus = "";
//if (mldopdrstrej) showopdrstatus = (showopdrstatus == ""? "" : showopdrstatus + ",") + "1";
//if (mldopdrstnak) showopdrstatus = (showopdrstatus == ""? "" : showopdrstatus + ",") + "2";
//if (mldopdrsttfi) showopdrstatus = (showopdrstatus == ""? "" : showopdrstatus + ",") + "3"; // Verderop wordt wel bepaald of 'b2' status 3 mag zien
//if (mldopdrstfia) showopdrstatus = (showopdrstatus == ""? "" : showopdrstatus + ",") + "4";
//if (mldopdrstuit) showopdrstatus = (showopdrstatus == ""? "" : showopdrstatus + ",") + "5";
//if (mldopdrstafm) showopdrstatus = (showopdrstatus == ""? "" : showopdrstatus + ",") + "6";
//if (mldopdrstver) showopdrstatus = (showopdrstatus == ""? "" : showopdrstatus + ",") + "7";
//if (mldopdrstacp) showopdrstatus = (showopdrstatus == ""? "" : showopdrstatus + ",") + "8";
//if (mldopdrstafr) showopdrstatus = (showopdrstatus == ""? "" : showopdrstatus + ",") + "9";
//if (mldopdrstgoe) showopdrstatus = (showopdrstatus == ""? "" : showopdrstatus + ",") + "10"; // Verderop wordt wel bepaald of 'b2' status 10 mag zien
var groepering_key = params.groepering_key; // Voor maninfo. 2 en 16 ondersteund
@@ -4670,7 +4706,7 @@ mld = {setmeldingstatus:
bld_scope = true;
}
sqltrack = (groepering_key == 2 || groepering_key == 16 // Minfo groepering Opdracht(2) en Opdracht + Kosten(16).
var sqltrack = (groepering_key == 2 || groepering_key == 16 // Minfo groepering Opdracht(2) en Opdracht + Kosten(16).
? ", TO_DATE('01-01-1970', 'DD-MM-YYYY')"
: ", (SELECT MAX(t.fac_tracking_datum)"
+ " FROM fac_tracking t"
@@ -4680,6 +4716,26 @@ mld = {setmeldingstatus:
+ " AND sn.fac_srtnotificatie_xmlnode = 'opdracht')")
+ " recentdatum";
var uitv_type = " CASE"
+ " WHEN COALESCE ( (SELECT 'B'"
+ " FROM prs_bedrijf"
+ " WHERE prs_bedrijf_key = o.mld_uitvoerende_keys)"
+ " , (SELECT 'P'"
+ " FROM prs_perslid"
+ " WHERE prs_perslid_key = o.mld_uitvoerende_keys)) = 'B'"
+ " THEN"
+ " CASE"
+ " WHEN (SELECT u.intern"
+ " FROM mld_v_uitvoerende u"
+ " WHERE u.mld_uitvoerende_key = o.mld_uitvoerende_keys) = 1"
+ " THEN"
+ " 'BI'"
+ " ELSE"
+ " 'BE'"
+ " END"
+ " ELSE"
+ " 'PI'"
+ " END"
var whereUs = ""; // straks voor de statussen
sql = "SELECT o.mld_melding_key"
+ " , o.mld_opdr_bedrijfopdr_volgnr"
@@ -4721,7 +4777,7 @@ mld = {setmeldingstatus:
+ " , sd.ins_srtdiscipline_prefix"
+ " , sd.ins_srtdiscipline_omschrijving"
+ " , " + lcl.xsqla('std.mld_stdmelding_omschrijving','std.mld_stdmelding_key')
+ " , " + S("prs_pers_string")+ " melder"
+ " , " + S("prs_pers_string") + " melder"
+ " , SYSDATE nu"
+ " , o.mld_opdr_kosten"
+ (urole == 'mi'
@@ -4745,26 +4801,7 @@ mld = {setmeldingstatus:
+ " , (SELECT 'P'"
+ " FROM prs_perslid"
+ " WHERE prs_perslid_key = o.mld_uitvoerende_keys)) B_OF_P"
+ " , CASE"
+ " WHEN COALESCE ( (SELECT 'B'"
+ " FROM prs_bedrijf"
+ " WHERE prs_bedrijf_key = o.mld_uitvoerende_keys)"
+ " , (SELECT 'P'"
+ " FROM prs_perslid"
+ " WHERE prs_perslid_key = o.mld_uitvoerende_keys)) = 'B'"
+ " THEN"
+ " CASE"
+ " WHEN (SELECT u.intern"
+ " FROM mld_v_uitvoerende u"
+ " WHERE u.mld_uitvoerende_key = o.mld_uitvoerende_keys) = 1"
+ " THEN"
+ " 'BI'"
+ " ELSE"
+ " 'BE'"
+ " END"
+ " ELSE"
+ " 'PI'"
+ " END uitv_type"
+ " , " + uitv_type + " uitv_type"
+ " , CASE"
+ " WHEN COALESCE ( (SELECT 'B'"
+ " FROM prs_bedrijf"
@@ -4867,16 +4904,16 @@ mld = {setmeldingstatus:
? " , mld_v_uitvoerende mu"
: "")
+ " WHERE o.mld_melding_key = m.mld_melding_key" + (urole == 'bgt' ? '(+)' : '')
+ " AND pfiat.prs_perslid_key(+) = prs.getkpverantwoordelijke(o.prs_kostenplaats_key, "+S("prs_approvemethod")+", -1)"
+ " AND pfiat.prs_perslid_key(+) = prs.getkpverantwoordelijke(o.prs_kostenplaats_key, " + S("prs_approvemethod") + ", -1)"
+ " AND m.mld_alg_locatie_key = l.alg_locatie_key(+)"
+ " AND l.alg_district_key = di.alg_district_key(+)"
+ " AND std.mld_ins_discipline_key = md.ins_discipline_key"+ (urole == 'bgt' ? '(+)' : '')
+ " AND md.ins_discipline_key = mdp.mld_ins_discipline_key"+ (urole == 'bgt' ? '(+)' : '')
+ " AND std.mld_ins_discipline_key = md.ins_discipline_key" + (urole == 'bgt' ? '(+)' : '')
+ " AND md.ins_discipline_key = mdp.mld_ins_discipline_key" + (urole == 'bgt' ? '(+)' : '')
+ " AND o.fac_activiteit_key IS NULL"
+ " AND o.cnt_contract_key = c.cnt_contract_key(+)"
+ " AND m.mld_stdmelding_key = std.mld_stdmelding_key"+ (urole == 'bgt' ? '(+)' : '')
+ " AND m.mld_stdmelding_key = std.mld_stdmelding_key" + (urole == 'bgt' ? '(+)' : '')
+ " AND m.prs_perslid_key = p.prs_perslid_key"+ (urole == 'bgt' ? '(+)' : '')
+ " AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key"+ (urole == 'bgt' ? '(+)' : '')
+ " AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key" + (urole == 'bgt' ? '(+)' : '')
+ " AND o.mld_typeopdr_key = t.mld_typeopdr_key";
if (add_prs_restrict)
@@ -5011,6 +5048,10 @@ mld = {setmeldingstatus:
if (behandel_key)
sql += " AND o.prs_perslid_key = " + behandel_key;
if (beh_key_arr)
//sql += " AND (o.prs_perslid_key IN (" + beh_key_arr.join(",") + ") OR o.prs_perslid_key IS NULL)";
// Niet toegewezen (prs_perslid_key IS NULL) opdrachten van het opdrachttype Bedrijf Intern (BI) moeten ook getoond worden.
sql += " AND (o.prs_perslid_key IN (" + beh_key_arr.join(",") + ") OR (o.prs_perslid_key IS NULL AND (" + uitv_type + ") = 'BI'))";
if (opdrtype_key)
sql += " AND o.mld_typeopdr_key = " + opdrtype_key;
@@ -5043,10 +5084,16 @@ mld = {setmeldingstatus:
if (datefrom)
{
if (planb)
sql += " AND COALESCE(o.mld_opdr_plandatum, o.mld_opdr_einddatum) >= " + datefrom.beginToSQL();
else
sql += " AND o.mld_opdr_datumbegin >= " + datefrom.beginToSQL();
}
if (dateto)
{
if (planb)
sql += " AND COALESCE(o.mld_opdr_plandatum, o.mld_opdr_einddatum) < " + dateto.endToSQL();
else
sql += " AND o.mld_opdr_datumbegin < " + dateto.endToSQL();
}

View File

@@ -25,9 +25,9 @@ var JSON_Result = true;
<%
protectRequest.validateToken();
var uitv_key = getFParamInt("uitv_key");
var prs_key = getFParamInt("prs_key");
var uitv_type_dest = getFParam("uitv_type");
var uitv_key = getFParamInt("uitv_key"); // Uitvoerder destination.
var prs_key = getFParamInt("prs_key"); // Behandelaar destination.
var uitv_type_dest = getFParam("uitv_type"); // Type uitvoerder destination.
var opdr_key_arr = getFParamIntArray("opdr_key_arr");
var tobechanged = 0;
@@ -37,19 +37,24 @@ var notmoved = [];
for (var i = 0; i < opdr_key_arr.length; i++)
{
var this_opdr = mld.func_enabled_opdracht(opdr_key_arr[i]); // Wat heb ik zoal aan rechten op deze specifieke opdracht
var mld_opdr = mld.mld_opdr_info(opdr_key_arr[i]);
var canSelection = true;
var uitv_type_src = "PI";
if (mld_opdr.uitv_type == "B")
{
if (mld_opdr.uitv_intern)
var uitv_type_src = "BI";
else
var uitv_type_src = "BE";
{
var uitv_type_src = "BE"; // Kan niet voorkomen.
canSelection = false;
}
}
var canSelectBeheerder = true;
if (uitv_type_src == "BI" && uitv_type_dest != "BI")
// Kan de beheerder bij de interne persoon of kan de beheerder bij de uitvoerder voor desbetreffende disipline? Dit checken.
// Als de beheerder niet is ingevuld is, dan hoef ik het niet te checken.
if (prs_key > 0 && (uitv_type_src == "BI" && uitv_type_dest == "PI"))
{
var sql = "SELECT prs_perslid_key"
+ " FROM fac_v_webgebruiker f"
@@ -62,13 +67,13 @@ for (var i = 0; i < opdr_key_arr.length; i++)
+ " OR fac_functie_code = 'WEB_ORDBOF')"
+ " AND f.fac_gebruiker_prs_level_write < 9"
+ " AND f.fac_gebruiker_alg_level_write < 9"
+ " AND prs_perslid_key = " + mld_opdr.contactpers_key // Beheerder opdracht.
+ " AND prs_perslid_key = " + prs_key // Beheerder opdracht.
oRs = Oracle.Execute(sql);
canSelectBeheerder = !oRs.eof;
canSelection = !oRs.eof;
oRs.close();
}
if (this_opdr.canChange && canSelectBeheerder)
if (this_opdr.canChange && canSelection)
{
ingesloten.push({ opdr_key: opdr_key_arr[i],
mld_key: mld_opdr.mld_key,

View File

@@ -19,10 +19,9 @@
<%
FCLTHeader.Requires({plugins: ["jQuery"],
js: ["./opdr_plan.js",
"./mld.js",
"jquery-ui.js"] //, // Voor slepen
//css: ["../mld/opdr.css"]
js: ["./mld.js",
"jquery-ui.js"], // Voor het slepen.
css: ["../mld/mld.css"]
});
// Om planbord kaarten in een kaartenbak te groeperen.
@@ -33,13 +32,13 @@ function CARDBOX_START(id, params)
if (__cardboxactive__) ERROR_NESTED_BLOCK_START_DETECTED;
__cardboxactive__ = true;
%><!-- CARDBOX_START <%=id%> -->
<div id="<%=id%>" class="fcltcardbox <%=params.cardclass? params.cardclass : ""%>" <%=params.hidden? ' style="display:none"' : ''%> <%=params.html? " " + params.html : ""%>><%
<td><div id="<%=id%>" style="display:inline-block" class="fcltcardbox <%=params.cardclass? params.cardclass : ""%>" <%=params.hidden? ' style="display:none"' : ''%> <%=params.html? " " + params.html : ""%>><%
}
function CARDBOX_END()
{
if (!__cardboxactive__) ERROR_BLOCK_END_WITHOUT_BLOCKSTART;
__cardboxactive__ = false;
%></div>
%></div></td>
<!-- CARDBOX_END --><%
}
@@ -75,24 +74,9 @@ function opdr_plan(params)
var outputmode = params.outputmode; // print to 0 = screen, 1 = printer, 2 = excel, etc.
var isPrinting = (outputmode == 1 || outputmode == 5);
var isExcel = (outputmode == 2 || outputmode == 6);
var showall = params.showall;
var showAll = params.showall;
var mld_key = params.mld_key;
//var contract = params.contract
//var cnt_key = params.cnt_key;
//// Er kunen twee contract keys meegegeven worden. Een extra contract key die bij contract hoort.
//// Als cnt_key en contract_key verschillen kun het nooit een resultaat opleveren
//if (contract > 0)
// cnt_key = cnt_key + (cnt_key != ""? ", " : "") + contract;
//var bes = params.bes;
//var tiny = params.tiny;
//var inline = params.inline;
//var justClose = params.justClose;
// close_only is vervangen door (pautfunction == "WEB_ORDBO2"): Als je die rechten hebt mag je ook afmelden
//var mldopdrstrej = params.mldopdrstrej;
//var mldopdrstafm = params.mldopdrstafm;
//var mldopdrstver = params.mldopdrstver;
var mldstpen = params.mldstpen;
var mldstnew = params.mldstnew;
@@ -188,171 +172,9 @@ function opdr_plan(params)
}
%>
<html>
<html id="planhtml">
<head>
<% FCLTHeader.Generate({ outputmode: params.outputmode }); %>
<style>
.fcltcardbox {
position: relative;
width: 200px;
/*height: 300px;*/
padding: 0px;
background: #EFEFEF;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;
border: #EFEFEF solid 10px;
float: left;
margin-left: 5px;
margin-top: 5px;
}
.fcltcardboxhead {
background-color: #EFEFEF;
color: #000000;
font-weight: bold;
font-size: 1.1em;
height: 25px;
}
.fcltcard {
position: relative;
width: 200px;
/*height: 300px;*/
background-color: #FFFFFF;
background: #FFFFFF;
border: 1px solid;
float: left;
color: #000000;
/*margin-left: 5px;*/
margin-top: 5px;
}
.fcltcard:hover {
color: #00a;
}
html {
background-color: #D9F4FF;
}
.sortable .fcltcardtab {
cursor: move;
}
.fcltcardtab td {
padding-left: 4px;
}
.fcltcardtab td.profile {
padding: 2px 0 0 2px;
}
.cardbeheerder {
background-color: #559CB9;
min-height: 72px;
}
.cardbeheerder.uitvbe {
background-color: #C99CA8; /* Bedrijf Extern. */
}
.cardbeheerder.uitvbi {
background-color: #55B99C; /* Bedrijf Intern. */
}
.cardbeheerder.uitvpi {
background-color: #559CB9; /* Persoon Intern. */
}
.cardbeheerder.uitvnt {
background-color: #8F6329; /* Niet Toegewezen. CD4A48 5ED75F*/
}
.cardbeheerder.goto {
background-color: #DAA520;
}
.cardbeheerder .profile img.profile {
max-height: 64px;
}
.cardname {
font-weight: bold;
color: #fff;
line-height: 1.2em;
}
.cardsubname {
color: #eee;
line-height: 1em;
}
.carddate {
font-size: 0.8em;
color: #999;
padding-left: 6px;
}
.cardplace {
font-size: 0.8em;
color: #999;
}
.cardopdrtxt {
font-style: italic;
font-size: 0.8em;
line-height: 1.05em;
color: #222;
}
.cardorders {
}
div.latecard {
background-color: #FFF0F0;
color: #9C0006;
border-color: #9C0006;
}
div.pholder {
background-color: #DAA520; /* Voor het testen pholder zichtbaar (show()) en rood (#DA0000) maken. Dan is de clone kaart goed zichtbaar. */
}
div.cardmoved {
background-color: #AEE9FF;
}
div.cardnotmoved {
background-color: #E35931; /* ED4429 */
}
.ui-sortable-helper {
background-color: #FFDC23;
}
div.selectedcard {
background-color: #DAA520;
}
div.disable-sort-item, span.disable-sort-item {
background-color: #F5F5F5;
/* Maak alle tekst unselectable */
-webkit-touch-callout: none; /* iOS Safari */
-webkit-user-select: none; /* Safari */
-khtml-user-select: none; /* Konqueror HTML */
-moz-user-select: none; /* Firefox */
-ms-user-select: none; /* Internet Explorer/Edge */
user-select: none; /* Non-prefixed version, currently
supported by Chrome and Opera */
}
.cardopdrnochange {
/*font-size: 1em; */
/*vertical-align: top; */
/*margin-top: 3px; */
color: #CC0000;
}
div.activecard {
background-color: #FFFA7A; /*#E8FFE8;*/
border-color: #333;
}
div.activecard.halt {
background-color: #FFCA7B; /*#E8FFE8;*/
border-color: #333;
}
div.activecard.resume {
background-color: #FFE57A; /*#E8FFE8;*/
border-color: #333;
}
div.legendaright {
float: right;
padding-left: 8px;
padding-right: 8px;
}
div.legendaleft {
float: left;
}
.placeholderclass {
background: red !important;
/*visibility: visible; */
display:none;
/*width: inherited; */
/*height:inherited; */
}
</style>
<script type="text/javascript">
function sort(pcardboxid)
{
@@ -361,14 +183,39 @@ function opdr_plan(params)
listitems.sort(function (a, b)
{ // Sorteervolgorde: 1) Active opdrachten (active == 1) bovenaan. Daar zijn ze mee bezig. (Beheerder is ook actief).
// 2) Onderbroken en Hervat. Eerst active, dan active hervatte en dan actieve onderbroken.
// 2) Onderbroken.
// 3) Einddatum, wat het eerst klaar moet zijn staat boven aan (kleinste waarde bovenaan).
// 4) Meldingnummer (A12345/1) (kleinste waarde bovenaan).
return (($(a).attr("active") == "1"? "0" : "1") + $(a).attr("halt") + $(a).attr("resume") + $(a).attr("einddatum") + "/" + $(a).attr("opdracht") > ($(b).attr("active") == "1"? "0" : "1") + $(b).attr("halt") + $(b).attr("resume") + $(b).attr("einddatum") + "/" + $(b).attr("opdracht")) ? 1 : -1;
return (($(a).attr("active") == "1"? "0" : "1") + $(a).attr("halt") + $(a).attr("einddatum") + "/" + $(a).attr("opdracht") > ($(b).attr("active") == "1"? "0" : "1") + $(b).attr("halt") + $(b).attr("einddatum") + "/" + $(b).attr("opdracht")) ? 1 : -1;
});
sortableList.append(listitems);
}
var mld_show_cards = <%=S("mld_show_cards")%>;
function showMaxCards(pcardbehid, pshowall)
{
lcard = $("#" + pcardbehid).next();
lteller = 0;
while (lcard.length == 1)
{
if (lcard.attr("id") == "cardasc" || lcard.attr("id") == "carddesc")
{
if ((pshowall && lcard.attr("id") == "cardasc") || (!pshowall && lcard.attr("id") == "carddesc"))
lcard.show();
else
lcard.hide();
}
else
{
lteller++;
if (pshowall || lteller <= mld_show_cards)
lcard.show();
else
lcard.hide();
}
lcard = lcard.next();
}
}
var selectedCard;
var selectedCurrentCard;
@@ -518,62 +365,30 @@ function opdr_plan(params)
var url = "appl/prs/prs_bedrijf.asp?bedrijf_key=" + uitv_key_dblclick;
FcltMgr.openDetail(url, { reuse: true });
});
});
</script>
</head>
<body id="planbody">
<%
var buttons = [];
buttons.push({ icon: "legenda.png", title: L("lcl_res_legenda"), action: "openLegenda()" });
// PF: bang van niet.. buttons.push({ icon: "print.png", title: L("lcl_print_table"), action: "opdr_print()" });
IFRAMER_HEADER(L("lcl_orders"), buttons);
%>
<div id="planbodylist">
<%
var sql = mld.getopdroverzicht_sql(pautfunction, params);
oRs = Oracle.Execute(sql);
var olduitv_key = -2;
var oldprs_key = -2;
while (!oRs.eof)
$("div.cardbox").on("click",
"div.cardasc",
function (e)
{
var prs_key = oRs("prs_perslid_key").Value || -1; // Melder key.
var opdr_key = oRs("mld_opdr_key").Value;
var behandelaar = oRs("behandelaar").Value; // Behandelaar
var B_OF_P = oRs("B_OF_P").Value;
var uitv_key = oRs("uitv_key").Value || -1;
var uitv_naam = oRs("uitv_naam").Value;
var uitv_type = oRs("uitv_type").Value;
var opdracht = oRs("ins_srtdiscipline_prefix").Value + oRs("mld_melding_key").Value + "/" + oRs("mld_opdr_bedrijfopdr_volgnr").Value;
var einddatum = new Date(oRs("mld_opdr_einddatum").Value).getTime();
var now = new Date().getTime();
var mld_statusopdr_key = oRs("mld_statusopdr_key").Value;
var mld_opdr_omschrijving = oRs("mld_opdr_omschrijving").Value || "";
var plaatsmelding = oRs("plaatsmelding").Value || "";
var uitvclass = uitv_type;
if (uitv_type == "BI" && prs_key < 0)
uitvclass = "NT" // Niet Toegewezen.
// Ik wil weten of ik de opdracht mag wijzigen.
// Als de opdracht niet te wijzigen is, dan mag ik deze niet slepen.
// Een niet te wijzigen opdracht heeft ook een icon "fa-lock" voor het opdrachtnummer.
// TODO: Kost dit niet te veel tijd. Zelf uitrekenen is zeer lastig.
var this_opdr = mld.func_enabled_opdracht(opdr_key); // Wat mag ik zoal op deze opdracht?
if ((uitv_type != "BI" && uitv_key != olduitv_key) ||
(uitv_type == "BI" && (uitv_key != olduitv_key || prs_key != oldprs_key)))
{
CARDBOX_START("cardboxbeh" + uitv_key + (uitv_type == "BI"? "_" + prs_key : ""),
{cardclass: "cardbox cbsortable uitv" + uitvclass.toLowerCase(),
html: "uitv_key=" + uitv_key + " prs_key=" + (uitv_type == "BI"? prs_key : "-1")
showMaxCards($(this).parent().children(".cardbeheerder").first().attr("id"), false);
FcltMgr.resized(window);
window.parent.$("#workFrame").height(window.parent.$("#workFrame").height() + 100);
});
$("div.cardbox").on("click",
"div.carddesc",
function (e)
{
showMaxCards($(this).parent().children(".cardbeheerder").first().attr("id"), true);
FcltMgr.resized(window);
window.parent.$("#workFrame").height(window.parent.$("#workFrame").height() + 100);
});
});
function cardboxbehSortable(uitv_type, uitv_key, prs_key)
{
if (uitv_type != "BE")
{
%> <script type="text/javascript">
$(function() {
$("#cardboxbeh<%=uitv_key + (uitv_type == "BI"? "_" + prs_key : "")%>").sortable({
$("#cardboxbeh" + uitv_key + (uitv_type == "BI"? "_" + prs_key : "")).sortable({
items: '.sortable:not(.disable-sort-item)',
connectWith: ".cardbox",
opacity: 0.7,
@@ -582,6 +397,7 @@ function opdr_plan(params)
revert: 0,
placeholder: "placeholderclass",
forcePlaceholderSize: true,
tolerance: "pointer",
helper: function (e, item)
{
// In principe, als je een unhighlighted item sleept, moeten alle andere items geunhighlighted worden.
@@ -674,8 +490,8 @@ function opdr_plan(params)
var uitv_key_dest = uitv_key_received;
var prs_key_dest = prs_key_received;
var uitv_type_dest = uitv_type_received;
var uitv_key_src = <%=uitv_key%>;
var prs_key_src = <%=prs_key%>;
var uitv_key_src = uitv_key;
var prs_key_src = prs_key;
var data = { uitv_key: uitv_key_dest,
prs_key: prs_key_dest,
@@ -686,7 +502,6 @@ function opdr_plan(params)
data,
FcltCallbackAndThen(function (data)
{
//alert(JSON.stringify(elements));
var notmoved_opdrkeys = [];
if (data.notmoved != "")
notmoved_opdrkeys = data.notmoved.split(",");
@@ -710,29 +525,29 @@ function opdr_plan(params)
if (notmoved_opdrkeys.length > 0)
{
sort("cardboxbeh<%=uitv_key + (uitv_type == "BI"? "_" + prs_key : "")%>");
alert(L("lcl_opdr_notmovedintern").format(notmoved_opdrkeys.length));
sort("cardboxbeh" + uitv_key + (uitv_type == "BI"? "_" + prs_key : ""));
FcltMgr.alert(L("lcl_opdr_notmovedintern").format(notmoved_opdrkeys.length));
}
}),
"json");
}
else
// Verplaats naar de eigen lijst. Wel weer even sorteren.
sort("cardboxbeh<%=uitv_key + (uitv_type == "BI"? "_" + prs_key : "")%>");
sort("cardboxbeh" + uitv_key + (uitv_type == "BI"? "_" + prs_key : ""));
received = false;
},
receive: function (e, ui)
{ // Wordt uitgevoerd door de lijst die ontvangt. Wordt niet uitgevoerd als het dezelfde lijst is als de zender.
// Mouseup en stop worden voor de receive uitgevoerd.
received = true;
prs_key_received = <%=prs_key%>;
uitv_key_received = <%=uitv_key%>;
uitv_type_received = "<%=uitv_type%>";
cardboxid_received = "cardboxbeh" + "<%=uitv_key + (uitv_type == "BI"? "_" + prs_key : "")%>";
prs_key_received = prs_key;
uitv_key_received = uitv_key;
uitv_type_received = uitv_type;
cardboxid_received = "cardboxbeh" + uitv_key + (uitv_type == "BI"? "_" + prs_key : "");
},
create: function (event, ui)
{
sort("cardboxbeh<%=uitv_key + (uitv_type == "BI"? "_" + prs_key : "")%>");
sort("cardboxbeh" + uitv_key + (uitv_type == "BI"? "_" + prs_key : ""));
},
over: function (event, ui)
{
@@ -741,31 +556,115 @@ function opdr_plan(params)
out: function (event, ui)
{
$(".cardbeheerder", this).toggleClass("goto");
},
sort: function (event, ui)
{
//if (!ui.helper.parent().is('body')) {
// ui.helper.appendTo($('body'));
//}
ui.helper.offset(ui.offset); // helper/placeholder
}
});
//$("#cardboxbeh<%=uitv_key%>").sortable("disable");
});
</script>
<% }
}
else
{
%> <script type="text/javascript">
// Bedrijven Extern (BE) alleen even sorteren en daarna mogen ze niet meer sortable zijn. Minimale sortable code nodig.
$(function() {
$("#cardboxbeh<%=uitv_key%>").sortable({
$("#cardboxbeh" + uitv_key).sortable({
items: '.sortable:not(.disable-sort-item)',
create: function (event, ui)
{
sort("cardboxbeh<%=uitv_key%>");
sort("cardboxbeh" + uitv_key);
}
});
$("#cardboxbeh<%=uitv_key%>").sortable("disable");
$("#cardboxbeh" + uitv_key).sortable("disable");
});
}
}
</script>
<% }
CARD_START("cardbeh" + uitv_key,
</head>
<body id="planbody">
<%
var buttons = [];
buttons.push({ icon: "legenda.png", title: L("lcl_res_legenda"), action: "openLegenda()" });
// PF: bang van niet.. buttons.push({ icon: "print.png", title: L("lcl_print_table"), action: "opdr_print()" });
IFRAMER_HEADER(L("lcl_orders"), buttons);
%>
<div id='pbMaxHistoryB'><span id='pbMaxHistoryInfoB'><div></div></span></div>
<div id="collapseblock">
<div id="planbodylist"><table><tr>
<%
// TODO width van planbodylist gebruiken om horizontale scrollbar te verkrijgen.
// jquery scrollbar kun je nog gebruiken? jQuery('.textarea-scrollbar').scrollbar();??
var sql = mld.getopdroverzicht_sql(pautfunction, params);
oRs = Oracle.Execute(sql);
var prs_key = -1; // Melder key.
var uitv_key = -1;
var uitv_type = "";
var olduitv_key = -2;
var oldprs_key = -2;
var nrCardBoxes = 0;
var aantal_int = 0;
var aantal_ext = 0;
var nrCardsInCardbox = 0;
for (var cnt = 0; (cnt < S("qp_maxrows") || showAll) &&
(cnt < S("qp_maxrows2") || isExcel) && // Naar excel altijd alle regels (meer dan S("qp_maxrows2")) weergeven.
!oRs.eof; cnt++)
{
uitv_key = oRs("uitv_key").Value || -1;
uitv_type = oRs("uitv_type").Value;
prs_key = uitv_type == "BI"? oRs("prs_perslid_key").Value || -1 : -1; // Behandelaar
var opdr_key = oRs("mld_opdr_key").Value;
var behandelaar = oRs("behandelaar").Value; // Behandelaar
var B_OF_P = oRs("B_OF_P").Value;
var uitv_naam = oRs("uitv_naam").Value;
var opdracht = oRs("ins_srtdiscipline_prefix").Value + oRs("mld_melding_key").Value + "/" + oRs("mld_opdr_bedrijfopdr_volgnr").Value;
// Voor einddatum de COALESCE van plandatum en einddatum. COALESCE(mld_opdr_plandatum, mld_opdr_einddatum)
var einddatum = oRs("mld_opdr_plandatum").Value != null? new Date(oRs("mld_opdr_plandatum").Value).getTime() : new Date(oRs("mld_opdr_einddatum").Value).getTime();
var now = new Date().getTime();
var mld_statusopdr_key = oRs("mld_statusopdr_key").Value;
var mld_opdr_omschrijving = oRs("mld_opdr_omschrijving").Value || "";
var plaatsmelding = oRs("plaatsmelding").Value || "";
var uitvclass = uitv_type;
if (uitv_type == "BE")
aantal_ext++;
else
aantal_int++;
if (uitv_type == "BI" && prs_key < 0)
uitvclass = "NT" // Niet Toegewezen.
// Ik wil weten of ik de opdracht mag wijzigen.
// Als de opdracht niet te wijzigen is, dan mag ik deze niet slepen.
// Een niet te wijzigen opdracht heeft ook een icon "fa-lock" voor het opdrachtnummer.
// Voor externe bedrijven hoef ik de rechten niet op te vragen. Ik mag toch niet wijzigen/slepen in dit scherm.
if (uitv_type == "BE")
var this_opdr = { canChange: false };
else
var this_opdr = mld.func_enabled_opdracht(opdr_key); // Wat mag ik zoal op deze opdracht?
if ((uitv_type != "BI" && uitv_key != olduitv_key) ||
(uitv_type == "BI" && (uitv_key != olduitv_key || prs_key != oldprs_key)))
{
CARDBOX_START("cardboxbeh" + uitv_key + (uitv_type == "BI"? "_" + prs_key : ""),
{cardclass: "cardbox cbsortable uitv" + uitvclass.toLowerCase(),
html: "uitv_key=" + uitv_key + " prs_key=" + (uitv_type == "BI"? prs_key : "-1")
});
nrCardBoxes++;
nrCardsInCardbox = 0;
%>
<script type="text/javascript">
cardboxbehSortable("<%=uitv_type%>", <%=uitv_key%>, <%=prs_key%>);
</script>
<%
CARD_START("cardbeh" + uitv_key + (uitv_type == "BI"? "_" + prs_key : ""),
{ cardclass: "cardbeheerder uitv" + uitvclass.toLowerCase(),
html: "uitv_key='" + uitv_key + "' prs_key='" + prs_key + "' opdr_key='-1'" + " einddatum='-1'" + " opdracht='-1' active='1' halt='0' resume='0'"
html: "uitv_key='" + uitv_key + "' prs_key='" + prs_key + "' opdr_key='-1'" + " einddatum='-1'" + " opdracht='-1' active='1' halt='0'"
});
switch(uitv_type)
{
@@ -825,16 +724,22 @@ function opdr_plan(params)
</tr>
<% break;
}
%>
<!--comment <tr><td>uitv_key = <%=uitv_key%></td></tr>
<tr><td>prs_key = <%=prs_key%></td></tr>-->
<%
CARD_END();
if (S("mld_show_cards") > 0)
{ %>
<script type="text/javascript">
$(document).ready(function()
{
showMaxCards("cardbeh" + "<%=uitv_key + (uitv_type == "BI"? "_" + prs_key : "")%>", false);
});
</script>
<% }
}
if (isPrinting || S("rs_maxchar") < 0 || mld_opdr_omschrijving.length < S("rs_maxchar") * 1.20) // 'Meer' moet minstens 20% extra tekst opleveren.
safe_mld_opdr_omschrijving = safe.html(oRs("mld_opdr_omschrijving").Value); // simpelweg hele tekst
var safe_mld_opdr_omschrijving = safe.html(oRs("mld_opdr_omschrijving").Value); // simpelweg hele tekst
else
{
// Oke, op scherm afkappen na S("rs_maxchar") karakters.
@@ -855,18 +760,19 @@ function opdr_plan(params)
}
var extended_opdr_status = mld.getextendedopdrstatus(mld_statusopdr_key, opdr_key);
nrCardsInCardbox++;
CARD_START("opdrcard" + opdr_key,
{ cardclass: "cardorders sortable" +
{ cardclass: "cardorders" + (!this_opdr.canChange || mld_statusopdr_key == 8 || uitv_type == "BE"? "" : " sortable") +
(!this_opdr.canChange || mld_statusopdr_key == 8 || uitv_type == "BE"? " disable-sort-item" : "") +
(mld_statusopdr_key == 8? " activecard" + (extended_opdr_status == 81? " halt" : "") + (extended_opdr_status == 82? " resume" : ""): "") +
(mld_statusopdr_key == 8? " activecard" + (extended_opdr_status == 81? " halt" : ""): "") +
(einddatum < now? " latecard" : ""),
html: "opdr_key='" + opdr_key + "'"
+ " opdracht='" + safe.html(opdracht) + "'"
+ " einddatum='" + einddatum + "'"
+ " active='" + (mld_statusopdr_key == 8? "1" : "0") + "'"
+ " halt='" + (extended_opdr_status == 81? "1" : "0") + "'"
+ " resume='" + (extended_opdr_status == 82? "1" : "0") + "'"
+ " sortid='" + (mld_statusopdr_key == 8? "0" : "1") + einddatum + "/" + opdracht + "'"
+ " sortid='" + (mld_statusopdr_key == 8? "0" : "1") + einddatum + "/" + opdracht + "'",
hidden: S("mld_show_cards") > 0? true : false
});
%> <tr>
<td>
@@ -879,10 +785,6 @@ function opdr_plan(params)
if (extended_opdr_status == 81)
{ %>
<i class="fa fa-pause" aria-hidden="true"></i>
<% }
else if (extended_opdr_status == 82)
{ %>
<i class="fa fa-play" aria-hidden="true"></i>
<% }
else
{ %>
@@ -908,6 +810,33 @@ function opdr_plan(params)
<tr><td><span class="readonly cardopdrtxt <%=(!this_opdr.canChange? " disable-sort-item" : "")%>"><%=safe_mld_opdr_omschrijving%></span></td></tr>
<% CARD_END();
if (S("mld_show_cards") > 0 && nrCardsInCardbox == (S("mld_show_cards") + 1))
{
CARD_START("cardasc",
{ cardclass: "cardasc disable-sort-item",
html: "opdr_key='-1' opdracht='-1' einddatum='0' active='0' halt='2'",
hidden: true
});
%>
<tr>
<td width="100%">
<center><i class="fa fa-sort-asc" aria-hidden="true"></i></center>
</td>
</tr>
<% CARD_END();
CARD_START("carddesc",
{ cardclass: "carddesc disable-sort-item",
html: "opdr_key='-1' opdracht='-1' einddatum='-1' active='0' halt='3'"
});
%>
<tr>
<td width="100%">
<center><i class="fa fa-sort-desc" aria-hidden="true"></i></center>
</td>
</tr>
<% CARD_END();
}
olduitv_key = uitv_key;
oldprs_key = prs_key;
oRs.MoveNext();
@@ -915,10 +844,60 @@ function opdr_plan(params)
(uitv_type == "BI" && ((oRs("uitv_key").Value || -1) != olduitv_key || (oRs("prs_perslid_key").Value || -1) != oldprs_key))))
CARDBOX_END();
}
%>
</tr></table></div>
</div>
<% if (S("mld_show_cards") > 0)
{ %>
<script type="text/javascript">
$(document).ready(function()
{
showMaxCards("cardbeh" + "<%=uitv_key + (uitv_type == "BI"? "_" + prs_key : "")%>", false);
});
</script>
<% } %>
<div id='pbMaxHistoryE'><span id='pbMaxHistoryInfoE'><div></div></span></div>
<%
var hisInfo = "empty";
if (!oRs.eof)
{
var a_element = "<a href='" + safe.jsstring(Request.ServerVariables("SCRIPT_NAME") + "?showall=1" + transitQS()) + "' target='_self" + "'>"
+ L("lcl_qp_maxcards1").format(S("qp_maxrows"))
+ "</a>";
hisInfo = (cnt <= S("qp_maxrows")
? a_element
: L("lcl_qp_maxcards2").format(S("qp_maxrows2")))
}
var extraTitle = [];
if (aantal_int > 0)
extraTitle.push(L("lcl_opdr_internuit") + " " + aantal_int);
if (aantal_ext > 0)
extraTitle.push(L("lcl_opdr_externuit") + " " + aantal_ext);
%>
<script type="text/javascript">
$(document).ready(function()
{
if ("<%=hisInfo%>" == "empty")
{
$("#pbMaxHistoryB").hide();
$("#pbMaxHistoryE").hide();
}
else
{
$("#pbMaxHistoryInfoB")[0].innerHTML = "<%=hisInfo%>";
$("#pbMaxHistoryInfoE")[0].innerHTML = "<%=hisInfo%>";
}
FcltMgr.setHeaderExtraTitle("<%=safe.html(extraTitle.join(", "))%>");
// Breedte van het scherm zetten. Elke cardbox (kolom) is 200 pixels breed plus 2 maal border van 10 pixels plus 5 pixels tussenruimte = 225.
FcltMgr.resized(window);
window.parent.$("#workFrame").height(window.parent.$("#workFrame").height() + 100);
});
</script>
<!-- LEGENDA -->
<script type="text/javascript">
function openLegenda()
@@ -936,7 +915,6 @@ function opdr_plan(params)
<tr><td colspan="2"><div class="legenda selectedcard"><%=I("fa-chevron-right")%>&nbsp;<%= L("lcl_opdr_selected") %></div></td></tr>
<tr><td><div class="cardmoved"><%=I("fa-chevron-right")%>&nbsp;<%= L("lcl_opdr_moved") %></div></td></tr>
<tr><td><div class="activecard"><%=I("fa-hourglass-half")%>&nbsp;<%= L("lcl_opdr_active") %></div></td></tr>
<tr><td><div class="activecard resume"><%=I("fa-play")%>&nbsp;<%= L("lcl_mld_ord_rsm") %></div></td></tr>
<tr><td><div class="activecard halt"><%=I("fa-pause")%>&nbsp;<%= L("lcl_mld_ord_hlt") %></div></td></tr>
<tr><td><div class="latecard"><%=I("fa-chevron-right")%>&nbsp;<%= L("lcl_opdr_late") %></div></td></tr>
<tr><td><div class="cardnotmoved"><%=I("fa-chevron-right")%>&nbsp;<%= L("lcl_opdr_notmoved") %></div></td></tr>