105 lines
4.1 KiB
Plaintext
105 lines
4.1 KiB
Plaintext
<%@language = "javascript" %>
|
|
<% /*
|
|
$Revision$
|
|
$Id$
|
|
|
|
File: mld_doublecheck.asp
|
|
Description: Controleer of een melding al door iemand anders is gemeld.
|
|
Parameters: mld_key
|
|
Note: Wordt voor de backoffice gebruikt om bij o.a. accepteren van
|
|
een melding te waarschuwen dat er dubbelen zijn.
|
|
LET OP Soortgelijke code in mld_edit_melding_save waarschuwt al bij het aanmaken
|
|
*/ %>
|
|
|
|
<%
|
|
var JSON_Result = true;
|
|
%>
|
|
|
|
<!-- #include file="../Shared/common.inc" -->
|
|
<!-- #include file="mld.inc" -->
|
|
|
|
<%
|
|
var mld_key = getQParamInt("mld_key");
|
|
|
|
var multi = getQParamInt("multi", 0);
|
|
var reloadmld = (getQParamInt("reloadmld", 0) == 1);
|
|
var autoConfirm = (getQParamInt("autoConfirm", 0) == 1);
|
|
var addopdr = (getQParamInt("reloadmld", 0) == 2);
|
|
var urole = getQParamSafe("urole", "bo");
|
|
var list = getQParamInt("list", "0");
|
|
|
|
// Authcheck niet nodig, je kunt niets wijzigen en er wordt geen DB-info getoond
|
|
|
|
var mld_info = mld.mld_melding_info(mld_key);
|
|
var this_mld = mld.func_enabled_melding(mld_key); // wat mag ik zoal op deze melding
|
|
user.auth_required_or_abort(this_mld.canReadAny); // Ik moet in ieder geval iets kunnen lezen
|
|
|
|
var message = "";
|
|
var maybeDouble = false;
|
|
var ins_str = "";
|
|
|
|
var result = { maybeDouble: maybeDouble, mld_key: mld_key, multi: multi, urole: urole, reloadmld: reloadmld, autoConfirm: autoConfirm, addopdr: addopdr, prefix: mld_info.prefix, list: list };
|
|
var reject = (getQParamInt("reject", 0) == 1);
|
|
if (reject)
|
|
result.reject = true;
|
|
|
|
var stdm_info = mld.mld_stdmeldinginfo(mld_info.stdm_key);
|
|
// mld_stdmelding_doublecheck: 00 (0) Geen controle uitvoeren
|
|
// 01 (1) Controle dubbel bij invoer nieuwe melding (door FE, FO (of BO))
|
|
// 10 (2) Controle dubbel bij accepteren melding (door BO)
|
|
// 11 (3) Controle zowel bij invoer als bij accepteren
|
|
// Niet controleren als het al een childmelding is. Dan mag je eigenlijk al niet accepteren/afwijzen
|
|
if (!mld_info.parent_key && (stdm_info.doublecheck == 2 || stdm_info.doublecheck == 3))
|
|
{
|
|
// In facmgt moet altijd een verplicht niveau gekozen worden. stdm_info.alg_onrgoed_niveau heeft dus een waarde (R, V, G, L).
|
|
if (!stdm_info.ins_srtdiscipline_alg)
|
|
var where_alg = "1=1"
|
|
else if (stdm_info.alg_onrgoed_niveau == "R")
|
|
var where_alg = "org.alg_ruimte_key = " + mld_info.room_key
|
|
else if (stdm_info.alg_onrgoed_niveau == "V")
|
|
var where_alg = "org.alg_verdieping_key = " + mld_info.flr_key
|
|
else if (stdm_info.alg_onrgoed_niveau == "G")
|
|
var where_alg = "org.alg_gebouw_key = " + mld_info.bld_key
|
|
// else if (stdm_info.alg_onrgoed_niveau == "L")
|
|
// var where_alg = "org.alg_locatie_key = " + mld_info.loc_key;
|
|
else if (stdm_info.alg_onrgoed_niveau == "L")
|
|
var where_alg = "m.mld_alg_locatie_key = " + mld_info.loc_key;
|
|
else // stdm_info.alg_onrgoed_niveau == null
|
|
var where_alg = "1=1"
|
|
|
|
var where_obj = "";
|
|
|
|
var one_object = (mld_info.aantal_objects == 1);
|
|
sql = "SELECT mo.ins_deel_key"
|
|
+ " FROM mld_melding_object mo"
|
|
+ " WHERE mo.mld_melding_key = " + mld_key;
|
|
oRs = Oracle.Execute(sql);
|
|
if (one_object)
|
|
{ // Haal de key van dit ene object op.
|
|
where_obj = " OR mo.ins_deel_key = " + oRs("ins_deel_key").value;
|
|
}
|
|
oRs.Close();
|
|
|
|
sql = "SELECT DISTINCT m.mld_melding_key"
|
|
+ " FROM mld_melding m"
|
|
+ " , alg_v_allonroerendgoed org"
|
|
+ " , mld_melding_object mo"
|
|
+ " WHERE m.mld_alg_onroerendgoed_keys = org.alg_onroerendgoed_keys(+)"
|
|
+ " AND m.mld_melding_key = mo.mld_melding_key(+)"
|
|
+ " AND m.mld_melding_status IN (0, 2, 4, 7)"
|
|
+ " AND m.mld_melding_parentkey IS NULL" // Geen child meldingen tonen
|
|
+ " AND m.mld_stdmelding_key = " + mld_info.stdm_key
|
|
+ " AND m.mld_melding_key <> " + mld_key
|
|
+ " AND (" + where_alg + where_obj + ")";
|
|
oRs = Oracle.Execute(sql);
|
|
if (!oRs.eof)
|
|
{ // Er is mogelijk een dubbele melding aanwezig
|
|
result.maybeDouble = true;
|
|
}
|
|
oRs.Close();
|
|
}
|
|
|
|
Response.Write(JSON.stringify(result));
|
|
%>
|
|
<% ASPPAGE_END(); %>
|