KFNS#38663 adding alg scoping to kennisbank items
svn path=/Website/trunk/; revision=33952
This commit is contained in:
103
APPL/MLD/mld.inc
103
APPL/MLD/mld.inc
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user