212 lines
8.4 KiB
Plaintext
212 lines
8.4 KiB
Plaintext
<%@language = "javascript" %>
|
|
<% /*
|
|
$Revision$
|
|
$Id$
|
|
*/ %>
|
|
|
|
<!-- #include file="../Shared/common.inc" -->
|
|
<!-- #include file="../Shared/iface.inc" -->
|
|
<!-- #include file="../Shared/resultset_table_v2.inc" -->
|
|
<!-- #include file="mld.inc" -->
|
|
|
|
<%
|
|
FCLTHeader.Requires({ plugins: ["jQuery"] });
|
|
|
|
var authparamsMLDBOF = user.checkAutorisation("WEB_MLDBOF", true);
|
|
var authparamsMLDBO3 = user.checkAutorisation("WEB_MLDBO3", true);
|
|
var authparamsMLDFOF = user.checkAutorisation("WEB_MLDFOF", true);
|
|
var authparamsMLDUSE = user.checkAutorisation("WEB_MLDUSE", true);
|
|
var authparams = user.auth_required_or_abort(authparamsMLDBOF || authparamsMLDBO3 || authparamsMLDFOF || authparamsMLDUSE);
|
|
|
|
|
|
var mld_key = getQParamInt("mld_key", -1);
|
|
if (mld_key > 0)
|
|
{
|
|
var mld_info = mld.mld_melding_info(mld_key);
|
|
var stdmelding_key = mld_info.stdm;
|
|
var ruimtekey = mld_info.room_key;
|
|
var verdiepingkey = mld_info.flr_key;
|
|
var gebouwkey = mld_info.bld_key;
|
|
var locatiekey = mld_info.loc_key;
|
|
var ins_arr = mld_info.room_obj_arr;
|
|
var isNew = false;
|
|
}
|
|
else
|
|
{
|
|
var stdmelding_key = getQParamInt("stdmelding_key");
|
|
var ruimtekey = getQParamInt("ruimtekey");
|
|
var verdiepingkey = getQParamInt("verdiepingkey");
|
|
var gebouwkey = getQParamInt("gebouwkey");
|
|
var locatiekey = getQParamInt("locatiekey");
|
|
var ins_arr = getQParamIntArray("ins_str", []);
|
|
var isNew = true;
|
|
}
|
|
var stdm_info = mld.mld_stdmeldinginfo(stdmelding_key);
|
|
|
|
var one_object = ins_arr.length == 1; // Is er 1 object geselecteerd?
|
|
var where_alg = "";
|
|
var where_ins = "";
|
|
%>
|
|
|
|
<html>
|
|
<head>
|
|
<% FCLTHeader.Generate(); %>
|
|
|
|
<script type="text/javascript">
|
|
function mld_double(mode, parent_key)
|
|
{
|
|
FcltMgr.closeDetail(window, { mode: mode, parent_key: (parent_key? parent_key : -1) } );
|
|
}
|
|
|
|
function mld_askdouble(row)
|
|
{
|
|
var parent_key = row.getAttribute("ROWKEY");
|
|
FcltMgr.confirm(L("lcl_mld_linktoparent").format(parent_key), { autoconfirm: <%=isNew? 1 : 0%> == 1 }, function() {
|
|
mld_double(1, parent_key);
|
|
});
|
|
}
|
|
|
|
function mld_cancel(mode, parent_key)
|
|
{
|
|
FcltMgr.closeDetail(window, { cancel: true } );
|
|
}
|
|
</script>
|
|
</head>
|
|
|
|
<body class="modal" id="mod_mlddouble">
|
|
<%
|
|
var sql = "SELECT sm.alg_onrgoed_niveau"
|
|
+ " FROM mld_stdmelding sm"
|
|
+ " WHERE sm.mld_stdmelding_key = " + stdmelding_key;
|
|
oRs = Oracle.Execute(sql);
|
|
var alg_onrgoed_niveau = oRs("alg_onrgoed_niveau").value;
|
|
|
|
if (one_object) // Als er 1 object is geselecteerd
|
|
where_ins = " OR mo.ins_deel_key = " + ins_arr[0];
|
|
|
|
if (!stdm_info.ins_srtdiscipline_alg)
|
|
{
|
|
where_alg = "1=1"
|
|
}
|
|
else if (alg_onrgoed_niveau == "R")
|
|
{
|
|
where_alg = "org.alg_ruimte_key = " + ruimtekey
|
|
}
|
|
else if (alg_onrgoed_niveau == "V")
|
|
{
|
|
where_alg = "org.alg_verdieping_key = " + verdiepingkey
|
|
}
|
|
else if (alg_onrgoed_niveau == "G")
|
|
{
|
|
where_alg = "org.alg_gebouw_key = " + gebouwkey
|
|
}
|
|
else if (alg_onrgoed_niveau == "L")
|
|
{
|
|
where_alg = "org.alg_locatie_key = " + locatiekey;
|
|
}
|
|
|
|
BLOCK_START("mldContinue", L("lcl_mld_similarcalls"));
|
|
%>
|
|
<div id="mldsimilar"><%=L("lcl_mld_askdouble").format(isNew?L("lcl_mld_no_own_mld"):L("lcl_not_link"), L("lcl_mld_cancel_double"))%></div>
|
|
<%
|
|
sql = "SELECT DISTINCT m.mld_melding_key"
|
|
+ " , sd.ins_srtdiscipline_prefix"
|
|
+ " , " + S("prs_pers_string") + " naam"
|
|
+ " , m.mld_melding_datum"
|
|
+ " , m.mld_alg_onroerendgoed_keys plaats_key"
|
|
+ (stdm_info.ins_srtdiscipline_alg
|
|
? " , l.alg_locatie_code || '-' || org.alg_gebouw_code || '-' || org.alg_verdieping_code || '-' || org.alg_ruimte_nr plaats"
|
|
: ", '' plaats")
|
|
+ " , 'Object'"
|
|
+ " , m.mld_melding_omschrijving"
|
|
+ " , (SELECT MIN(d.ins_deel_omschrijving)"
|
|
+ " FROM mld_melding_object mmo"
|
|
+ " , ins_deel d"
|
|
+ " WHERE mmo.ins_deel_key = d.ins_deel_key"
|
|
+ " AND mmo.mld_melding_key = m.mld_melding_key)"
|
|
+ " || "
|
|
+ " CASE"
|
|
+ " WHEN (SELECT COUNT(mmo.ins_deel_key)"
|
|
+ " FROM mld_melding_object mmo"
|
|
+ " WHERE mmo.mld_melding_key = m.mld_melding_key) > 1"
|
|
+ " THEN '...'"
|
|
+ " ELSE ''"
|
|
+ " END objecten"
|
|
+ " , m.mld_melding_parentkey"
|
|
+ " , COALESCE(m.mld_melding_parentkey, m.mld_melding_key) orderby"
|
|
+ " FROM mld_melding m"
|
|
+ " , mld_stdmelding sm"
|
|
+ " , mld_discipline md"
|
|
+ " , ins_srtdiscipline sd"
|
|
+ (stdm_info.ins_srtdiscipline_alg
|
|
?" , alg_v_allonrgoed_gegevens org, alg_locatie l"
|
|
:"")
|
|
+ " , mld_melding_object mo"
|
|
+ " , prs_perslid p"
|
|
+ " WHERE m.mld_stdmelding_key = sm.mld_stdmelding_key"
|
|
+ " AND sm.mld_ins_discipline_key = md.ins_discipline_key"
|
|
+ " AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key"
|
|
+ (stdm_info.ins_srtdiscipline_alg
|
|
? " AND m.mld_alg_onroerendgoed_keys = org.alg_onroerendgoed_keys AND org.alg_locatie_key = l.alg_locatie_key"
|
|
: "")
|
|
+ " AND m.mld_melding_key = mo.mld_melding_key(+)"
|
|
+ " AND m.prs_perslid_key = p.prs_perslid_key"
|
|
+ " AND m.mld_melding_status IN (0, 2, 3, 4, 7)"
|
|
+ " AND m.mld_stdmelding_key = " + stdmelding_key
|
|
+ " AND m.mld_melding_parentkey IS NULL" // Geen child meldingen tonen
|
|
+ (mld_key > 0
|
|
? " AND m.mld_melding_key != " + mld_key
|
|
: "") // De melding die geaccepteerd/afgewezen moet worden niet tonen.
|
|
+ " AND (" + where_alg + where_ins + ")"
|
|
+ " ORDER BY orderby, mld_melding_parentkey desc";
|
|
|
|
function fncolKey(oRs)
|
|
{
|
|
return oRs("ins_srtdiscipline_prefix") + oRs("mld_melding_key");
|
|
}
|
|
|
|
var rst = new ResultsetTable({ keyColumn: "mld_melding_key",
|
|
sql: sql,
|
|
ID: "similarcallstable",
|
|
//rowClass: fnrowClass,
|
|
noPrint: true,
|
|
title: L("lcl_complains"),
|
|
showAll: true
|
|
});
|
|
|
|
rst.addColumn(new Column({caption: L("lcl_mld_number"), content: fncolKey}));
|
|
rst.addColumn(new Column({caption: L("lcl_caller"), content: "naam"}));
|
|
rst.addColumn(new Column({caption: L("lcl_date"), content: "mld_melding_datum", datatype: "datetime"}));
|
|
if (stdm_info.ins_srtdiscipline_alg)
|
|
rst.addColumn(new Column({caption: L("lcl_mld_place"), content: "plaats"}));
|
|
rst.addColumn(new Column({caption: L("lcl_descr"), content: "mld_melding_omschrijving"}));
|
|
if (stdm_info.ins_srtdiscipline_ins)
|
|
rst.addColumn(new Column({caption: L("lcl_mld_nr_objects"), content: "objecten"}));
|
|
|
|
rst.addAction({ action: "mld_askdouble", caption: L("lcl_mld_keep_informed"), isDefault: true } );
|
|
|
|
var cnt = rst.processResultset();
|
|
|
|
BLOCK_END();
|
|
|
|
if (isNew) // Opslaan nieuwe melding
|
|
{ // Drie modes
|
|
// 1) Dubbele melding van een moedermelding aanmaken (opnieuw laden van save asp met parent_key, maar niet meer controleren op double) [1]
|
|
// 2) Nieuwe melding aanmaken (opnieuw laden van save asp, maar niet meer controleren op double) [2]
|
|
// 3) Geen melding aanmaken, gewoon terug. [cancel]
|
|
var buttons = [ {title: L("lcl_mld_no_own_mld"), icon: "undo.png", action: "mld_double(2)" },
|
|
{title: L("lcl_mld_cancel_double"), icon: "undo.png", action: "mld_cancel()" } ];
|
|
}
|
|
else // accepteren/afwijzen
|
|
{ // Drie modes
|
|
// 1) Het is een dubbele melding. Laat de melding verwijzen naar de moedermelding [1]
|
|
// 2) Het is geen dubbele melding. Zet de melding op geaccepteerd (Button accepteren) [2]
|
|
// 3) Melding niet accepteren/afwijzen (Button annuleren) [cancel]
|
|
var buttons = [ {title: L("lcl_not_link"), icon: "opslaan.png", action: "mld_double(2)" },
|
|
{title: L("lcl_mld_cancel_double"), icon: "undo.png", action: "mld_cancel()" } ];
|
|
}
|
|
CreateButtons(buttons);
|
|
%>
|
|
</body>
|
|
</html>
|