TDNL#89081 Automatische storingsmelding per object naar juiste leverancier regelen

svn path=/Website/branches/v2025.3/; revision=70746
This commit is contained in:
Erik Groener
2025-10-29 10:03:08 +00:00
parent abb3a52712
commit a827317958
2 changed files with 8 additions and 32 deletions

View File

@@ -7118,7 +7118,10 @@ mld = {
+ " " + (ruimtekey > 0 ? "OR (cp.cnt_alg_plaats_code = 'R' AND cp.cnt_alg_plaats_key = " + ruimtekey + ")" : "")
+ " )";
var sql_o = " SELECT c.cnt_prs_bedrijf_key"
var sql_o = "";
if (obj_key_arr && obj_key_arr.length > 0)
{
sql_o = " SELECT c.cnt_prs_bedrijf_key"
+ " , c.cnt_contract_key"
+ " , CASE WHEN co.cnt_ins_deel_key IS NULL"
+ " THEN 6"
@@ -7136,23 +7139,24 @@ mld = {
+ " AND cd.cnt_srtcontract_type IN (1,3)"
+ " AND c.cnt_contract_key = co.cnt_contract_key"
+ " AND ( ( co.cnt_ins_deel_key IS NOT NULL"
+ " AND co.cnt_ins_deel_key IN (" + safe.keys_sql_join(obj_key_arr) + ")"
+ " AND co.cnt_ins_deel_key IN (" + obj_key_arr.join(",") + ")"
+ " )"
+ " OR ( co.cnt_ins_deel_key IS NULL"
+ " AND co.cnt_ins_srtdeel_key IN"
+ " (SELECT i.ins_srtdeel_key"
+ " FROM ins_deel i"
+ " WHERE i.ins_deel_key IN (" + safe.keys_sql_join(obj_key_arr) + ")"
+ " WHERE i.ins_deel_key IN (" + obj_key_arr.join(",") + ")"
+ " )"
+ " )"
+ " )";
}
var sql_c = "SELECT cnt_prs_bedrijf_key"
+ " , cnt_contract_key"
+ " , prio"
+ " , COUNT(DISTINCT cnt_prs_bedrijf_key) aantal"
+ " FROM (" + sql_p
+ (obj_key_arr && obj_key_arr.length ? " UNION " + sql_o : "")
+ (obj_key_arr && obj_key_arr.length > 0 ? " UNION " + sql_o : "")
+ " )"
+ " GROUP BY cnt_prs_bedrijf_key, cnt_contract_key, prio"
+ " ORDER BY prio DESC"

View File

@@ -2148,34 +2148,6 @@ safe = {
return safe.quoted_sql(zoektekst.replace(/\*/g, "%"));
},
keys_sql_join: function (keyArr)
{
var keyArr = keyArr || []; // null of undefined
if (typeof keyArr === "string") {
// string met getallen naar array mey getallen
keyArr = keyArr.split(",");
}
else if (typeof keyArr === "number") {
// een enkel getal naar array met dit getal
keyArr = [keyArr];
}
var key_arr = [];
if (keyArr.constructor == Array) {
// zet alles wat een key kan zijn in een array.
for (var i=0; i<keyArr.length; i++)
{
var v_key = parseInt(keyArr[i], 10);
if (!isNaN(v_key))
key_arr.push(v_key);
}
}
var result = (key_arr.length > 0 ? key_arr.join(",") : "NULL");
return result; // Levert een komma gescheiden string met keys, of NULL als er geen keys zijn.
// IN (result) is nu altijd geldig.
},
// converteer alle waarden in arr naar integer.
// waar dat niet lukt worden ze gewoon verwijderd(?)
int_array: function (arr)