ARAI#38181: Opdracht-uitvoeringsconsole.
svn path=/Website/trunk/; revision=33689
This commit is contained in:
@@ -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
182
APPL/MLD/mld.css
Normal 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; */
|
||||
}
|
||||
215
APPL/MLD/mld.inc
215
APPL/MLD/mld.inc
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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")%> <%= L("lcl_opdr_selected") %></div></td></tr>
|
||||
<tr><td><div class="cardmoved"><%=I("fa-chevron-right")%> <%= L("lcl_opdr_moved") %></div></td></tr>
|
||||
<tr><td><div class="activecard"><%=I("fa-hourglass-half")%> <%= L("lcl_opdr_active") %></div></td></tr>
|
||||
<tr><td><div class="activecard resume"><%=I("fa-play")%> <%= L("lcl_mld_ord_rsm") %></div></td></tr>
|
||||
<tr><td><div class="activecard halt"><%=I("fa-pause")%> <%= L("lcl_mld_ord_hlt") %></div></td></tr>
|
||||
<tr><td><div class="latecard"><%=I("fa-chevron-right")%> <%= L("lcl_opdr_late") %></div></td></tr>
|
||||
<tr><td><div class="cardnotmoved"><%=I("fa-chevron-right")%> <%= L("lcl_opdr_notmoved") %></div></td></tr>
|
||||
|
||||
Reference in New Issue
Block a user