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%"
|
<iframe width="100%" height="100%"
|
||||||
src="../Shared/empty.asp"
|
src="../Shared/empty.asp"
|
||||||
name="workFrame" id="workFrame"
|
name="workFrame" id="workFrame"
|
||||||
onload="FcltMgr.iframeLoaded(this, false, true)"
|
onload="FcltMgr.iframeLoaded(this, {widthToo: false, largerOnly: true})"
|
||||||
frameborder="0" scrolling="no">
|
frameborder="0" scrolling="no">
|
||||||
</iframe>
|
</iframe>
|
||||||
</div>
|
</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; */
|
||||||
|
}
|
||||||
249
APPL/MLD/mld.inc
249
APPL/MLD/mld.inc
@@ -303,15 +303,11 @@ mld = {setmeldingstatus:
|
|||||||
getFirstApprover:
|
getFirstApprover:
|
||||||
function (mld_info, mld_opdr)
|
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.
|
// Bepalen eerste persoon om te fiatteren.
|
||||||
var approver_key = -1;
|
var approver_key = -1;
|
||||||
var prsname = "";
|
var prsname = "";
|
||||||
var pkey = -1;
|
var pkey = -1;
|
||||||
var for_approval = false;
|
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.
|
// 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)
|
if (mld_info.mld_kk == 1 && mld_info.kostenpl_key == mld_opdr.kp_key)
|
||||||
pkey = mld_info.melder_key; // Melder van de melding.
|
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 md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key"
|
||||||
+ " AND o.mld_typeopdr_key = top.mld_typeopdr_key"
|
+ " AND o.mld_typeopdr_key = top.mld_typeopdr_key"
|
||||||
+ " AND o.mld_uitvoerende_keys = mu.mld_uitvoerende_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.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? puitv_key : "(SELECT o2.mld_uitvoerende_keys 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 o.mld_statusopdr_key = 8" // Alleen Actieve (Status Geaccepteerd(8)) opdrachten.
|
||||||
+ " AND top.mld_typeopdr_sequential = 1" // Alleen opdrachten die sequentieel uitgevoerd moeten worden.
|
+ " AND top.mld_typeopdr_sequential = 1" // Alleen opdrachten die sequentieel uitgevoerd moeten worden.
|
||||||
+ (mode == "A"
|
+ (mode == "A"
|
||||||
? " AND (fac.gettrackingdate('ORDHLT', o.mld_opdr_key) IS NULL" // Alleen geaccepteerde(8) en hervatte(82) opdrachten.
|
? " AND o.mld_opdr_halted = 0"
|
||||||
+ " OR (fac.gettrackingdate('ORDRSM', o.mld_opdr_key) IS NOT NULL AND"
|
: " AND o.mld_opdr_halted = 1")
|
||||||
+ " 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 mu.intern = 1" // Alleen interne uitvoerders.
|
+ " AND mu.intern = 1" // Alleen interne uitvoerders.
|
||||||
+ " AND mld_opdr_key != " + popdr_key;
|
+ " AND mld_opdr_key != " + popdr_key;
|
||||||
var oRs = Oracle.Execute(sql);
|
var oRs = Oracle.Execute(sql);
|
||||||
@@ -2611,13 +2604,13 @@ mld = {setmeldingstatus:
|
|||||||
+ " , fac_faq_datum DESC"
|
+ " , fac_faq_datum DESC"
|
||||||
+ " , fac_faq_question";
|
+ " , fac_faq_question";
|
||||||
var oRs = Oracle.Execute(sql);
|
var oRs = Oracle.Execute(sql);
|
||||||
|
result.popup_faq = false;
|
||||||
while (!oRs.EOF)
|
while (!oRs.EOF)
|
||||||
{
|
{
|
||||||
result.faq_popup = false;
|
|
||||||
var displaymode = oRs("fac_faq_displaymode").Value;
|
var displaymode = oRs("fac_faq_displaymode").Value;
|
||||||
if (displaymode == 0) // Auto
|
if (displaymode == 0) // Auto
|
||||||
{
|
{
|
||||||
if ( ((S("faq_kennisbank_popup") & 1) && canFAQUSEread) // Voor FE
|
if ( ((S("faq_kennisbank_popup") & 1) && canFAQUSEread) // Voor FE
|
||||||
|| ((S("faq_kennisbank_popup") & 2) && canFAQFOFread)) // Voor FO
|
|| ((S("faq_kennisbank_popup") & 2) && canFAQFOFread)) // Voor FO
|
||||||
result.popup_faq = true
|
result.popup_faq = true
|
||||||
}
|
}
|
||||||
@@ -2648,7 +2641,93 @@ mld = {setmeldingstatus:
|
|||||||
|
|
||||||
return result;
|
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
|
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) {
|
function _func_enabled_mld(pkey, ptype) {
|
||||||
// is pkey een srtdiscipline of discipline
|
// is pkey een srtdiscipline of discipline
|
||||||
@@ -3137,8 +3216,7 @@ mld = {setmeldingstatus:
|
|||||||
+ " , fac.gettrackinguserkey('ORDFOK', " + pmld_opdr_key + ") fiat_trackinguser_key"
|
+ " , fac.gettrackinguserkey('ORDFOK', " + pmld_opdr_key + ") fiat_trackinguser_key"
|
||||||
+ " , fac.gettrackingdate('ORDFIA', o.mld_opdr_key) trackdateFIA"
|
+ " , fac.gettrackingdate('ORDFIA', o.mld_opdr_key) trackdateFIA"
|
||||||
+ " , fac.gettrackingdate('ORDFOK', o.mld_opdr_key) trackdateFOK"
|
+ " , fac.gettrackingdate('ORDFOK', o.mld_opdr_key) trackdateFOK"
|
||||||
+ " , fac.gettrackingdate('ORDHLT', o.mld_opdr_key) trackdateHLT"
|
+ " , o.mld_opdr_halted"
|
||||||
+ " , fac.gettrackingdate('ORDRSM', o.mld_opdr_key) trackdateRSM"
|
|
||||||
+ " , o.mld_opdr_kosten"
|
+ " , o.mld_opdr_kosten"
|
||||||
+ " , mto.mld_typeopdr_zichtbaarfe"
|
+ " , mto.mld_typeopdr_zichtbaarfe"
|
||||||
+ " , o.mld_opdr_teverzenden"
|
+ " , o.mld_opdr_teverzenden"
|
||||||
@@ -3208,8 +3286,7 @@ mld = {setmeldingstatus:
|
|||||||
opdr_status == 3 && // Opdracht staat "Ter fiattering"
|
opdr_status == 3 && // Opdracht staat "Ter fiattering"
|
||||||
moRs("trackdateFIA").Value != null && moRs("trackdateFOK").Value != null && // Er is al gefiatteerd
|
moRs("trackdateFIA").Value != null && moRs("trackdateFOK").Value != null && // Er is al gefiatteerd
|
||||||
moRs("trackdateFIA").Value < moRs("trackdateFOK").Value; // De eerste fiatteur heeft opnieuw 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 halted = moRs("mld_opdr_halted").Value == 1;
|
||||||
var trackdateRSM = moRs("trackdateRSM").Value != null? new Date(moRs("trackdateRSM").Value) : null;
|
|
||||||
var typehas_cost = moRs("mld_typeopdr_kosten").Value == 1;
|
var typehas_cost = moRs("mld_typeopdr_kosten").Value == 1;
|
||||||
var decentraal = moRs("mld_typeopdr_decentraal").Value;
|
var decentraal = moRs("mld_typeopdr_decentraal").Value;
|
||||||
var isofferte = moRs("mld_typeopdr_isofferte").Value == 1;
|
var isofferte = moRs("mld_typeopdr_isofferte").Value == 1;
|
||||||
@@ -3412,6 +3489,9 @@ mld = {setmeldingstatus:
|
|||||||
|
|
||||||
var myBO2FieldChange = (myBO2Change && !mresult.iamBedrijfContact);
|
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);
|
__Log("myBO2Change: " + myBO2Change);
|
||||||
|
|
||||||
switch (opdr_status)
|
switch (opdr_status)
|
||||||
@@ -3500,8 +3580,8 @@ mld = {setmeldingstatus:
|
|||||||
(mresult.canWrite("WEB_ORDBO2") && myBO2Change) ||
|
(mresult.canWrite("WEB_ORDBO2") && myBO2Change) ||
|
||||||
(mresult.canWrite("WEB_MLDORD") && user.isCollega(uitv_key))) &&
|
(mresult.canWrite("WEB_MLDORD") && user.isCollega(uitv_key))) &&
|
||||||
!is_planned_action;
|
!is_planned_action;
|
||||||
mresult.canOnderbreken = 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 && trackdateHLT != null && (trackdateRSM == null || trackdateHLT > trackdateRSM);
|
mresult.canHervatten = mresult.canCloseRights && opdr_status == 8 && halted;
|
||||||
mresult.canClose = mresult.canCloseRights && !mresult.canHervatten;
|
mresult.canClose = mresult.canCloseRights && !mresult.canHervatten;
|
||||||
mresult.canCopy = (mresult.canWrite("WEB_ORDBOF") && !is_planned_action && !mld_afgerond);
|
mresult.canCopy = (mresult.canWrite("WEB_ORDBOF") && !is_planned_action && !mld_afgerond);
|
||||||
mresult.canVeldChange = (mresult.canWrite("WEB_ORDBOF") ||
|
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 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 intopdr_key = params.intopdr_key; // de technische echte mld_opdr_key
|
||||||
var behandel_key = params.behandel_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 srtdisc_key = params.srtdisc_key;
|
||||||
var searchtekst = params.searchtekst;
|
var searchtekst = params.searchtekst;
|
||||||
var reg_key = params.reg_key;
|
var reg_key = params.reg_key;
|
||||||
@@ -4583,51 +4664,6 @@ mld = {setmeldingstatus:
|
|||||||
var mldopdrstrej = params.mldopdrstrej;
|
var mldopdrstrej = params.mldopdrstrej;
|
||||||
var mldopdrstafm = params.mldopdrstafm;
|
var mldopdrstafm = params.mldopdrstafm;
|
||||||
var mldopdrstver = params.mldopdrstver;
|
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
|
var groepering_key = params.groepering_key; // Voor maninfo. 2 en 16 ondersteund
|
||||||
|
|
||||||
@@ -4670,16 +4706,36 @@ mld = {setmeldingstatus:
|
|||||||
bld_scope = true;
|
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')"
|
? ", TO_DATE('01-01-1970', 'DD-MM-YYYY')"
|
||||||
: ", (SELECT MAX(t.fac_tracking_datum)"
|
: ", (SELECT MAX(t.fac_tracking_datum)"
|
||||||
+ " FROM fac_tracking t"
|
+ " FROM fac_tracking t"
|
||||||
+ " , fac_srtnotificatie sn"
|
+ " , fac_srtnotificatie sn"
|
||||||
+ " WHERE t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key"
|
+ " WHERE t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key"
|
||||||
+ " AND t.fac_tracking_refkey = o.mld_opdr_key" // opdracht key uit "sql"
|
+ " AND t.fac_tracking_refkey = o.mld_opdr_key" // opdracht key uit "sql"
|
||||||
+ " AND sn.fac_srtnotificatie_xmlnode = 'opdracht')")
|
+ " AND sn.fac_srtnotificatie_xmlnode = 'opdracht')")
|
||||||
+ " recentdatum";
|
+ " 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
|
var whereUs = ""; // straks voor de statussen
|
||||||
sql = "SELECT o.mld_melding_key"
|
sql = "SELECT o.mld_melding_key"
|
||||||
+ " , o.mld_opdr_bedrijfopdr_volgnr"
|
+ " , o.mld_opdr_bedrijfopdr_volgnr"
|
||||||
@@ -4721,7 +4777,7 @@ mld = {setmeldingstatus:
|
|||||||
+ " , sd.ins_srtdiscipline_prefix"
|
+ " , sd.ins_srtdiscipline_prefix"
|
||||||
+ " , sd.ins_srtdiscipline_omschrijving"
|
+ " , sd.ins_srtdiscipline_omschrijving"
|
||||||
+ " , " + lcl.xsqla('std.mld_stdmelding_omschrijving','std.mld_stdmelding_key')
|
+ " , " + lcl.xsqla('std.mld_stdmelding_omschrijving','std.mld_stdmelding_key')
|
||||||
+ " , " + S("prs_pers_string")+ " melder"
|
+ " , " + S("prs_pers_string") + " melder"
|
||||||
+ " , SYSDATE nu"
|
+ " , SYSDATE nu"
|
||||||
+ " , o.mld_opdr_kosten"
|
+ " , o.mld_opdr_kosten"
|
||||||
+ (urole == 'mi'
|
+ (urole == 'mi'
|
||||||
@@ -4745,26 +4801,7 @@ mld = {setmeldingstatus:
|
|||||||
+ " , (SELECT 'P'"
|
+ " , (SELECT 'P'"
|
||||||
+ " FROM prs_perslid"
|
+ " FROM prs_perslid"
|
||||||
+ " WHERE prs_perslid_key = o.mld_uitvoerende_keys)) B_OF_P"
|
+ " WHERE prs_perslid_key = o.mld_uitvoerende_keys)) B_OF_P"
|
||||||
+ " , CASE"
|
+ " , " + uitv_type + " uitv_type"
|
||||||
+ " 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"
|
|
||||||
+ " , CASE"
|
+ " , CASE"
|
||||||
+ " WHEN COALESCE ( (SELECT 'B'"
|
+ " WHEN COALESCE ( (SELECT 'B'"
|
||||||
+ " FROM prs_bedrijf"
|
+ " FROM prs_bedrijf"
|
||||||
@@ -4867,16 +4904,16 @@ mld = {setmeldingstatus:
|
|||||||
? " , mld_v_uitvoerende mu"
|
? " , mld_v_uitvoerende mu"
|
||||||
: "")
|
: "")
|
||||||
+ " WHERE o.mld_melding_key = m.mld_melding_key" + (urole == 'bgt' ? '(+)' : '')
|
+ " 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 m.mld_alg_locatie_key = l.alg_locatie_key(+)"
|
||||||
+ " AND l.alg_district_key = di.alg_district_key(+)"
|
+ " AND l.alg_district_key = di.alg_district_key(+)"
|
||||||
+ " AND std.mld_ins_discipline_key = md.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 md.ins_discipline_key = mdp.mld_ins_discipline_key" + (urole == 'bgt' ? '(+)' : '')
|
||||||
+ " AND o.fac_activiteit_key IS NULL"
|
+ " AND o.fac_activiteit_key IS NULL"
|
||||||
+ " AND o.cnt_contract_key = c.cnt_contract_key(+)"
|
+ " 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 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";
|
+ " AND o.mld_typeopdr_key = t.mld_typeopdr_key";
|
||||||
|
|
||||||
if (add_prs_restrict)
|
if (add_prs_restrict)
|
||||||
@@ -5011,6 +5048,10 @@ mld = {setmeldingstatus:
|
|||||||
|
|
||||||
if (behandel_key)
|
if (behandel_key)
|
||||||
sql += " AND o.prs_perslid_key = " + 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)
|
if (opdrtype_key)
|
||||||
sql += " AND o.mld_typeopdr_key = " + opdrtype_key;
|
sql += " AND o.mld_typeopdr_key = " + opdrtype_key;
|
||||||
@@ -5043,11 +5084,17 @@ mld = {setmeldingstatus:
|
|||||||
|
|
||||||
if (datefrom)
|
if (datefrom)
|
||||||
{
|
{
|
||||||
sql += " AND o.mld_opdr_datumbegin >= " + datefrom.beginToSQL();
|
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 (dateto)
|
||||||
{
|
{
|
||||||
sql += " AND o.mld_opdr_datumbegin < " + dateto.endToSQL();
|
if (planb)
|
||||||
|
sql += " AND COALESCE(o.mld_opdr_plandatum, o.mld_opdr_einddatum) < " + dateto.endToSQL();
|
||||||
|
else
|
||||||
|
sql += " AND o.mld_opdr_datumbegin < " + dateto.endToSQL();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (offerte >= 0)
|
if (offerte >= 0)
|
||||||
|
|||||||
@@ -25,9 +25,9 @@ var JSON_Result = true;
|
|||||||
|
|
||||||
<%
|
<%
|
||||||
protectRequest.validateToken();
|
protectRequest.validateToken();
|
||||||
var uitv_key = getFParamInt("uitv_key");
|
var uitv_key = getFParamInt("uitv_key"); // Uitvoerder destination.
|
||||||
var prs_key = getFParamInt("prs_key");
|
var prs_key = getFParamInt("prs_key"); // Behandelaar destination.
|
||||||
var uitv_type_dest = getFParam("uitv_type");
|
var uitv_type_dest = getFParam("uitv_type"); // Type uitvoerder destination.
|
||||||
var opdr_key_arr = getFParamIntArray("opdr_key_arr");
|
var opdr_key_arr = getFParamIntArray("opdr_key_arr");
|
||||||
|
|
||||||
var tobechanged = 0;
|
var tobechanged = 0;
|
||||||
@@ -37,19 +37,24 @@ var notmoved = [];
|
|||||||
for (var i = 0; i < opdr_key_arr.length; i++)
|
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 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 mld_opdr = mld.mld_opdr_info(opdr_key_arr[i]);
|
||||||
|
|
||||||
|
var canSelection = true;
|
||||||
var uitv_type_src = "PI";
|
var uitv_type_src = "PI";
|
||||||
if (mld_opdr.uitv_type == "B")
|
if (mld_opdr.uitv_type == "B")
|
||||||
{
|
{
|
||||||
if (mld_opdr.uitv_intern)
|
if (mld_opdr.uitv_intern)
|
||||||
var uitv_type_src = "BI";
|
var uitv_type_src = "BI";
|
||||||
else
|
else
|
||||||
var uitv_type_src = "BE";
|
{
|
||||||
|
var uitv_type_src = "BE"; // Kan niet voorkomen.
|
||||||
|
canSelection = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var canSelectBeheerder = true;
|
// Kan de beheerder bij de interne persoon of kan de beheerder bij de uitvoerder voor desbetreffende disipline? Dit checken.
|
||||||
if (uitv_type_src == "BI" && uitv_type_dest != "BI")
|
// 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"
|
var sql = "SELECT prs_perslid_key"
|
||||||
+ " FROM fac_v_webgebruiker f"
|
+ " 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')"
|
+ " OR fac_functie_code = 'WEB_ORDBOF')"
|
||||||
+ " AND f.fac_gebruiker_prs_level_write < 9"
|
+ " AND f.fac_gebruiker_prs_level_write < 9"
|
||||||
+ " AND f.fac_gebruiker_alg_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);
|
oRs = Oracle.Execute(sql);
|
||||||
canSelectBeheerder = !oRs.eof;
|
canSelection = !oRs.eof;
|
||||||
oRs.close();
|
oRs.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this_opdr.canChange && canSelectBeheerder)
|
if (this_opdr.canChange && canSelection)
|
||||||
{
|
{
|
||||||
ingesloten.push({ opdr_key: opdr_key_arr[i],
|
ingesloten.push({ opdr_key: opdr_key_arr[i],
|
||||||
mld_key: mld_opdr.mld_key,
|
mld_key: mld_opdr.mld_key,
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user