KFNS#38663 adding alg scoping to kennisbank items

svn path=/Website/trunk/; revision=33952
This commit is contained in:
2017-05-22 14:12:44 +00:00
parent 67753edc18
commit 4dab4f7ce7

View File

@@ -2700,7 +2700,7 @@ mld = {setmeldingstatus:
return ret;
},
faq_info:
function _alg_faq(loc_key, alg_key_arr, ins_disc_key, stdm_key) {
function _alg_faq(loc_key, alg_key_arr, ins_disc_key, stdm_key, changed) {
if ((!loc_key || loc_key == -1) &&
(!ins_disc_key || ins_disc_key == -1)) // Minimal requirement
return;
@@ -2715,63 +2715,48 @@ mld = {setmeldingstatus:
var filtFROM = ""
var filtWHERE = "";
var filtSELECT = "";
var faq_type = "faq_";
var filtSELECT = " , DECODE (sf.mld_stdmelding_key,"
+ " NULL, DECODE (sf.ins_discipline_key,"
+ " NULL, '', 'I'),"
+ " 'S') stdm_type "
+ " , DECODE (og.alg_onroerendgoed_keys,"
+ " NULL, DECODE (af.alg_locatie_key,"
+ " NULL, '', 'L'),"
+ " og.alg_type) alg_type ";
var filtFROM = " , alg_algfaq af"
+ " , mld_stdmeldingfaq sf"
+ " , alg_v_onroerendgoed og";
var filtWHERE = " AND ff.fac_faq_key = sf.fac_faq_key(+)"
+ " AND ff.fac_faq_key = af.fac_faq_key(+)"
+ " AND af.alg_onroerendgoed_keys = og.alg_onroerendgoed_keys(+)";
if (ins_disc_key && ins_disc_key != -1)
{
filtFROM += " , mld_stdmeldingfaq sf";
filtWHERE += " AND ff.fac_faq_key = sf.fac_faq_key"
+ " AND sf.ins_discipline_key = " + ins_disc_key;
if (stdm_key && stdm_key != -1)
{
faq_type += "S";
filtWHERE += " AND sf.mld_stdmelding_key = " + stdm_key;
}
else
{
faq_type += "I";
filtWHERE += " AND sf.mld_stdmelding_key IS NULL";
}
}
filtWHERE += " AND (sf.ins_discipline_key = " + ins_disc_key
+ (changed == 0 ? ")" : " OR sf.ins_discipline_key IS NULL)");
else
{
filtWHERE += " AND NOT EXISTS ("
+ " SELECT ''"
+ " FROM mld_stdmeldingfaq sf"
+ " WHERE ff.fac_faq_key = sf.fac_faq_key"
+ " )";
}
filtWHERE += (changed == 1 ? "" : " AND sf.ins_discipline_key IS NULL");
if (stdm_key && stdm_key != -1)
filtWHERE += " AND (sf.mld_stdmelding_key = " + stdm_key
+ (changed == 1 ? ")" : " OR sf.mld_stdmelding_key IS NULL)");
else
filtWHERE += " AND sf.mld_stdmelding_key IS NULL";
if (loc_key && loc_key != -1)
{
filtFROM += " , alg_algfaq af";
filtWHERE += " AND ff.fac_faq_key = af.fac_faq_key"
+ " AND af.alg_locatie_key = " + loc_key;
if (!alg_key_arr.length) // check only loc
{
filtSELECT = " , 'L' alg_type";
filtWHERE += " AND af.alg_onroerendgoed_keys IS NULL";
}
else
{
filtSELECT = " , NVL(og.alg_type, 'L') alg_type";
filtFROM += " , alg_v_onroerendgoed og";
filtWHERE += " AND af.alg_onroerendgoed_keys = og.alg_onroerendgoed_keys(+)"
+ " AND (af.alg_onroerendgoed_keys IN (" + alg_key_arr + ")";
if (inArray(-1, alg_key_arr))
filtWHERE += " OR af.alg_onroerendgoed_keys IS NULL";
filtWHERE += " )";
}
}
filtWHERE += " AND (af.alg_locatie_key = " + loc_key
+ (changed == 2 ? ")" : " OR af.alg_locatie_key IS NULL)");
else
{
filtWHERE += " AND NOT EXISTS ("
+ " SELECT ''"
+ " FROM alg_algfaq af"
+ " WHERE ff.fac_faq_key = af.fac_faq_key"
+ " )";
}
filtWHERE += " AND af.alg_locatie_key IS NULL";
if (alg_key_arr.length && alg_key_arr.length > 0)
filtWHERE += " AND (af.alg_onroerendgoed_keys IN (" + alg_key_arr + ")"
+ (changed > 2 ? ")" : " OR af.alg_onroerendgoed_keys IS NULL)");
else
filtWHERE += (changed == 2 ? "" : " AND af.alg_onroerendgoed_keys IS NULL");
var sql = "SELECT ff.fac_faq_key, "
+ " fac_faq_question, "
@@ -2816,17 +2801,9 @@ mld = {setmeldingstatus:
answer: safe.fclthtml(oRs("fac_faq_answer").Value),
displaymode: oRs("fac_faq_displaymode").Value
};
if (loc_key && loc_key != -1)
{
switch(oRs("alg_type").Value) {
case "R": data.faq_type = faq_type+"5"; break;
case "V": data.faq_type = faq_type+"4"; break;
case "T":
case "G": data.faq_type = faq_type+"3"; break;
case "L": data.faq_type = faq_type+"2"; break;
default: data.faq_type = faq_type+"1"; break;
}
}
data.faq_type = "faq_" + oRs("stdm_type") + oRs("alg_type");
var fac_url = oRs("fac_faq_url").value;
if (fac_url)