AARW#37960 api_mldsoap.asp ook verplicht alg-niveau laten testen

svn path=/Website/branches/v2016.3/; revision=32313
This commit is contained in:
Jos Groot Lipman
2017-01-11 12:01:53 +00:00
parent 0c6d5cf967
commit 1b69530025

View File

@@ -128,7 +128,7 @@ for (i = 0; i < meldingen.length; i++)
else
{
meldaction = "insert";
}
}
}
if (ext_id == null)
@@ -194,9 +194,10 @@ for (i = 0; i < meldingen.length; i++)
perslid_key = voor_key;
}
}
tsql = "SELECT sm.mld_stdmelding_t_uitvoertijd.tijdsduur tijdsduur"
+ " , sm.mld_stdmelding_t_uitvoertijd.eenheid eenheid"
+ " , sm.alg_onrgoed_niveau"
+ " FROM mld_stdmelding sm"
+ " WHERE sm.mld_stdmelding_key = " + stdmld_key
+ " AND sm.mld_stdmelding_verwijder IS NULL";
@@ -208,8 +209,10 @@ for (i = 0; i < meldingen.length; i++)
}
else
{ // Hier heb ik een geldige mld_stdmelding_key.
stdmld_sla_tijdsduur = oRs("tijdsduur").value;
stdmld_sla_eenheid = oRs("eenheid").value;
var stdmld_sla_tijdsduur = oRs("tijdsduur").value;
var stdmld_sla_eenheid = oRs("eenheid").value;
var stdmld_niveau = oRs("alg_onrgoed_niveau").value; // required niveau
var alglevel_ok = !stdmld_niveau; // Zonder niveau altijd goed
fields.push({ dbs: "mld_stdmelding_key", typ: "key", val: stdmld_key });
fields.push({ dbs: "mld_melding_t_uitvoertijd.tijdsduur", typ: "number", val: stdmld_sla_tijdsduur, obj: "MLD_T_UITVOERTIJD" });
@@ -262,6 +265,7 @@ for (i = 0; i < meldingen.length; i++)
var oRs = Oracle.Execute(tsql);
if (!oRs.eof)
{
alglevel_ok = alglevel_ok || stdmld_niveau == "L";
locatie_key = oRs("alg_locatie_key").value;
fields.push({ dbs: "mld_alg_locatie_key", typ: "key", val: locatie_key });
@@ -272,6 +276,7 @@ for (i = 0; i < meldingen.length; i++)
var oRs = Oracle.Execute(tsql);
if (!oRs.eof)
{
alglevel_ok = alglevel_ok || stdmld_niveau == "G";
plaats_key = oRs("alg_gebouw_key").value;
tsql = "SELECT alg_verdieping_key "
@@ -281,6 +286,7 @@ for (i = 0; i < meldingen.length; i++)
var oRs = Oracle.Execute(tsql);
if (!oRs.eof)
{
alglevel_ok = alglevel_ok || stdmld_niveau == "V";
plaats_key = oRs("alg_verdieping_key").value;
tsql = "SELECT alg_ruimte_key "
@@ -289,6 +295,7 @@ for (i = 0; i < meldingen.length; i++)
+ " AND alg_ruimte_nr="+ safe.quoted_sql(meldrnr);
var oRs = Oracle.Execute(tsql);
if (!oRs.eof) {
alglevel_ok = alglevel_ok || stdmld_niveau == "R";
plaats_key = oRs("alg_ruimte_key").value;
}
}
@@ -299,6 +306,11 @@ for (i = 0; i < meldingen.length; i++)
fields.push({ dbs: "mld_alg_onroerendgoed_keys", typ: "key", val: plaats_key });
}
}
if (!alglevel_ok)
{
resultcode = 4;
resulttekst = "Location not found";
}
fields = fields.concat(
[ { dbs: "mld_melding_key", typ: "key", seq: "mld_s_mld_melding_key" },
@@ -442,7 +454,7 @@ for (i = 0; i < meldingen.length; i++)
resultcode = 0; // Ik heb gedaan wat ik moest en mocht doen voor deze melding.
// En nog maar even de aanname dat een extern systeem niet aan workflows/ktos doet?
// Klantspecifieke check functie (hookfunction) voor de invoer
var pResult = new HookResult();
if (!custfunc.mld_postsave(mld_key, pResult))