2846 lines
134 KiB
Plaintext
2846 lines
134 KiB
Plaintext
<%@language = "javascript" %>
|
||
<% /*
|
||
$Revision$
|
||
$Id$
|
||
|
||
File: mld_edit_melding.asp
|
||
Description: Bekijk/wijzig melding (Mobile version)
|
||
Parameters: mld_key voor bestaande melding
|
||
mld_key=-1 voor nieuwe melding, en dan
|
||
stdm_key
|
||
ins_key
|
||
ruimte_key
|
||
-
|
||
rest optioneel
|
||
Note:
|
||
Je kunt en moet een kostenplaats invullen:
|
||
- als bij vakgroeptype Defaultwaarde kosten klant "Standaard Aan" is
|
||
- als bij Vakgroep Kostenplaats verplicht aangevinkt is
|
||
*/
|
||
var mld_key = getQParamInt("mld_key",-1);
|
||
var verynew = (getQParamInt("verynew",-1) == 1);
|
||
var autobutton = getQParamSafe("autobutton", "");
|
||
var LOCKED_USER_OK = { "xmlnode": "melding", "key": mld_key };
|
||
var multi = 0, maybeDouble = 0, autoConfirm = 0;
|
||
var zoom = getQParamFloat("zoom", 2);
|
||
var isvervolg = getQParamInt("mld_continue", 0) == 1;
|
||
var mld_start_key = getQParamInt("start_key", -1);
|
||
%>
|
||
|
||
<!-- #include file="../Shared/common.inc" -->
|
||
<!-- #include file="../Shared/calendar.inc" -->
|
||
<!-- #include file="../Shared/selector.inc" -->
|
||
<!-- #include file="../Shared/adresselector.inc" -->
|
||
<!-- #include file="../Shared/afdelingselector.inc" -->
|
||
<!-- #include file="../Shared/kostenplaatsselector.inc" -->
|
||
<!-- #include file="../Shared/stdmeldingselector.inc" -->
|
||
<!-- #include file="../Shared/disciplineselector.inc" -->
|
||
<!-- #include file="../Shared/persoonselector.inc" -->
|
||
<!-- #include file="../Shared/get_objecten_sql.inc" -->
|
||
<!-- #include file="../Shared/status.inc" -->
|
||
<!-- #include file="../mld/mld.inc" -->
|
||
<!-- #include file="../ins/ins.inc" -->
|
||
<!-- #include file="../mld/mld_flexkenmerk.inc" -->
|
||
<!-- #include file="./resultset_table.inc" -->
|
||
<!-- #include file="./mobile.inc" -->
|
||
<!-- #include file="./iface.inc" -->
|
||
|
||
<%
|
||
FCLTHeader.Requires({ js: [ rooturl+"/appl/Localscripts/jquery.timepicker-table.js"
|
||
, rooturl+"/appl/mld/mld_edit_melding.js"
|
||
] });
|
||
FCLTHeader.Requires({ plugins: ["suggest"] });
|
||
|
||
var quicknoteSetting = S("pda_melding_quick_note");
|
||
var action = getQParam("action", "");
|
||
var qrc = getQParamInt("qrc", 0) != 0;
|
||
var meldbron_key = getQParamInt("meldbronkey", 7); // 7 = mobile
|
||
var deelsrtcont_key = getQParamInt("deelsrtcont_key", -1);
|
||
var urole = getQParamSafe("urole", "");
|
||
var caddwgx = getQParamFloat("caddwgx", null); // x co<63>rdinaat van een specifieke plek in de ruimte die gehighlight moet worden.
|
||
var caddwgy = getQParamFloat("caddwgy", null); // y co<63>rdinaat van een specifieke plek in de ruimte die gehighlight moet worden.
|
||
|
||
var opdr_opm = getFParam("opdr_opm", "");
|
||
|
||
var mld_info = {};
|
||
var plaats_key = -1;
|
||
var plaats_niveau = "";
|
||
var ins_keys_arr = [];
|
||
var ins_name_arr = [];
|
||
var addSubheader = false;
|
||
var addObjectDesc = false;
|
||
var lastopdr = (getQParamInt("lastopdr", 0) == 1);
|
||
var transitParam = buildTransitParam(["mld_key", "verynew", "lastopdr", "stdmgroepkey", "srtdisc", "disc", "zoom", "start_key"]);
|
||
var controleModeArray = [-1, -1, -1]; // De drie controlemoden zijn niet aanwezig (-1);
|
||
var remark = "";
|
||
|
||
urole = autoUrole(urole, { bo: "WEB_MLDBOF", fo: "WEB_MLDFOF", fe: "WEB_MLDUSE" });
|
||
|
||
var autfunction = (urole=="fe" ? "WEB_MLDUSE" : (urole=="fo" ? "WEB_MLDFOF" : "WEB_MLDBOF"));
|
||
|
||
var fronto = (urole=="fo");
|
||
var frontend = (urole=="fe");
|
||
var backo = (urole=="bo");
|
||
|
||
var tobeclosed = 0;
|
||
var ingesloten = [];
|
||
var canCloseOpdr = [];
|
||
var mldRequireCnt = 0; // Aantal meldingen waarvan minstens <20><>n verplicht kenmerk en/of object niet is ingevuld.
|
||
var reqStatusEmptyMelding = [];
|
||
var reqStatusEmptyMeldingkey = -1;
|
||
var reqStatusEmptyMeldingnr = "";
|
||
var futureOpdr = false;
|
||
var start_key = -1;
|
||
var closeCheckDone = false;
|
||
var element_description = ( S("ins_element_description") == ""
|
||
? "d.ins_deel_omschrijving || ' (' || " + lcl.xsql("s.ins_srtdeel_omschrijving", "s.ins_srtdeel_key") + " || ')' "
|
||
: S("ins_element_description")
|
||
);
|
||
|
||
function getAlgKeys(alg_keys)
|
||
{
|
||
var all_keys = {};
|
||
if (alg_keys.roo_key > 0)
|
||
{ // Bepaald bovenliggende waarden
|
||
var sql = "SELECT alg_locatie_key"
|
||
+ " , alg_gebouw_key"
|
||
+ " , alg_verdieping_key"
|
||
+ " FROM alg_v_allonroerendgoed aog"
|
||
+ " WHERE aog.alg_onroerendgoed_keys = " + alg_keys.roo_key
|
||
+ " AND aog.alg_type = 'R'";
|
||
var oRs = Oracle.Execute(sql);
|
||
all_keys.loc_key = oRs("alg_locatie_key").Value;
|
||
all_keys.bld_key = oRs("alg_gebouw_key").Value;
|
||
all_keys.flr_key = oRs("alg_verdieping_key").Value;
|
||
all_keys.roo_key = alg_keys.roo_key;
|
||
oRs.Close();
|
||
}
|
||
else if (alg_keys.flr_key > 0)
|
||
{ // Bepaald bovenliggende waarden
|
||
var sql = "SELECT alg_locatie_key"
|
||
+ " , alg_gebouw_key"
|
||
+ " FROM alg_v_allonroerendgoed aog"
|
||
+ " WHERE aog.alg_onroerendgoed_keys = " + alg_keys.flr_key
|
||
+ " AND aog.alg_type = 'V'";
|
||
var oRs = Oracle.Execute(sql);
|
||
all_keys.loc_key = oRs("alg_locatie_key").Value;
|
||
all_keys.bld_key = oRs("alg_gebouw_key").Value;
|
||
all_keys.flr_key = alg_keys.flr_key;
|
||
all_keys.roo_key = -1;
|
||
oRs.Close();
|
||
}
|
||
else if (alg_keys.bld_key > 0)
|
||
{ // Bepaald bovenliggende waarden
|
||
var sql = "SELECT alg_locatie_key"
|
||
+ " FROM alg_v_allonroerendgoed aog"
|
||
+ " WHERE aog.alg_onroerendgoed_keys = " + alg_keys.bld_key
|
||
+ " AND aog.alg_type IN ('G','T')";
|
||
var oRs = Oracle.Execute(sql);
|
||
all_keys.loc_key = oRs("alg_locatie_key").Value;
|
||
all_keys.bld_key = alg_keys.bld_key;
|
||
all_keys.flr_key = -1;
|
||
all_keys.roo_key = -1;
|
||
oRs.Close();
|
||
}
|
||
else if (alg_keys.loc_key > 0)
|
||
{
|
||
all_keys.loc_key = alg_keys.loc_key;
|
||
all_keys.bld_key = -1;
|
||
all_keys.flr_key = -1;
|
||
all_keys.roo_key = -1;
|
||
}
|
||
else
|
||
{
|
||
all_keys.loc_key = -1;
|
||
all_keys.bld_key = -1;
|
||
all_keys.flr_key = -1;
|
||
all_keys.roo_key = -1;
|
||
}
|
||
return all_keys;
|
||
}
|
||
|
||
function check_alg_level(alg_keys, stdm)
|
||
{
|
||
var url = "";
|
||
if (!stdm.ins_srtdiscipline_alg || // We horen hier niet
|
||
stdm.alg_onrgoed_niveau == "L" && alg_keys.loc_key > -1 || // We zijn al compleet, laad de rest vd pagina
|
||
stdm.alg_onrgoed_niveau == "G" && alg_keys.bld_key > -1 ||
|
||
stdm.alg_onrgoed_niveau == "V" && alg_keys.flr_key > -1 ||
|
||
stdm.alg_onrgoed_niveau == "R" && alg_keys.roo_key > -1 ||
|
||
stdm.alg_onrgoed_niveau == "H" || !stdm.alg_onrgoed_niveau) // Een plaats is niet nodig.
|
||
{
|
||
// geen actie
|
||
}
|
||
else
|
||
{ // Zoek eerst de plaats op t/m het verplichte niveau
|
||
var url = "melding_new.asp?stdm=" + stdm.mld_stdmelding_key;
|
||
if (alg_keys.loc_key > -1) {
|
||
url += "&loc_key=" + alg_keys.loc_key;
|
||
}
|
||
if (alg_keys.bld_key > -1) {
|
||
url += "&bld_key=" + alg_keys.bld_key;
|
||
}
|
||
if (alg_keys.flr_key > -1) {
|
||
url += "&flr_key=" + alg_keys.flr_key;
|
||
}
|
||
if (alg_keys.roo_key > -1) {
|
||
url += "&roo_key=" + alg_keys.roo_key;
|
||
}
|
||
}
|
||
return url;
|
||
}
|
||
|
||
|
||
// Mogelijke parameters voor toevoegen only
|
||
if (mld_key == -1)
|
||
{
|
||
// Verplicht:
|
||
var stdm_key = getQParamInt("stdm_key", -1);
|
||
if (stdm_key == -1) {
|
||
Server.Transfer("melding_new.asp"); // Ga maar eerst stdmelding kiezen
|
||
}
|
||
var stdm_info = mld.mld_stdmeldinginfo(stdm_key);
|
||
|
||
// Optioneel:
|
||
var ins_key = getQParamInt("ins_key", -1) // test 5009 Het kan zijn dat ik vanuit de lijst deze meekrijg om een nieuwe aan te maken
|
||
var ruimte_key = getQParamInt("ruimte_key", getQParamInt("roo_key", -1)) // Het kan zijn dat ik vanuit de lijst deze meekrijg om een nieuwe aan te maken
|
||
addSubheader = ((ruimte_key > -1) || (getQParamInt("loc_key", -1) > -1));
|
||
addObjectDesc = (ins_key > -1);
|
||
|
||
if (ruimte_key == -1 && ins_key > -1)
|
||
{
|
||
// Als ik een object heb kan ik zelf de plaats precies bepalen (ruimte; TODO of terrein)
|
||
var sql = "SELECT alg_ruimte_key"
|
||
+ " , alg_ruimte_nr"
|
||
+ " , d.alg_verdieping_key"
|
||
+ " , d.alg_verdieping_code"
|
||
+ " , v.alg_verdieping_code verdieping_code"
|
||
+ " , d.alg_gebouw_key"
|
||
+ " , alg_terreinsector_key" // doen we nog niets mee
|
||
+ " , alg_locatie_key"
|
||
+ " , " + element_description + " deel"
|
||
+ " , " + lcl.xsqla("s.ins_srtdeel_omschrijving", "s.ins_srtdeel_key")
|
||
+ " FROM ins_v_deelenonderdeel_gegevens d"
|
||
+ " , ins_srtdeel s"
|
||
+ " , ins_srtgroep g"
|
||
+ " , ins_tab_discipline dis"
|
||
+ " , alg_verdieping v"
|
||
+ " WHERE d.ins_srtdeel_key = s.ins_srtdeel_key"
|
||
+ " AND s.ins_srtgroep_key = g.ins_srtgroep_key"
|
||
+ " AND g.ins_discipline_key = dis.ins_discipline_key"
|
||
+ " AND d.alg_verdieping_key = v.alg_verdieping_key(+)"
|
||
+ " AND d.ins_deel_key = " + ins_key;
|
||
|
||
var oRs = Oracle.Execute(sql);
|
||
var alg_params = { loc_key: oRs("alg_locatie_key").Value
|
||
, bld_key: oRs("alg_gebouw_key").Value
|
||
, flr_key: (oRs("verdieping_code").Value == null || oRs("verdieping_code").Value.substring(0, 1) == "_" ? -1 : oRs("alg_verdieping_key").Value)
|
||
, roo_key: (oRs("alg_ruimte_nr").Value == null || oRs("alg_ruimte_nr").Value.substring(0, 1) == "_" ? -1 : oRs("alg_ruimte_key").Value)
|
||
};
|
||
var ins_name = oRs("deel").Value;
|
||
oRs.Close();
|
||
}
|
||
else
|
||
{
|
||
// Deze zijn niet waarschijnlijk meegegeven, maar de defaultwaarde is ook al handig
|
||
var alg_params = { loc_key: getQParamInt("locatie_key", getQParamInt("loc_key", -1))
|
||
, bld_key: getQParamInt("gebouw_key", getQParamInt("bld_key", -1))
|
||
, flr_key: getQParamInt("verdieping_key", getQParamInt("flr_key", -1))
|
||
, roo_key: getQParamInt("ruimte_key", getQParamInt("roo_key", -1))
|
||
};
|
||
alg_params = getAlgKeys(alg_params);
|
||
var redirect_url = check_alg_level(alg_params, stdm_info);
|
||
if (redirect_url)
|
||
{
|
||
ASPPAGE_END();
|
||
Response.Redirect(redirect_url);
|
||
}
|
||
}
|
||
}
|
||
|
||
if (mld_key > -1)
|
||
{
|
||
//Bepaal of melding ook echt afgemeld mag worden
|
||
var this_mld = mld.func_enabled_melding(mld_key);
|
||
var mld_info = mld.mld_melding_info(mld_key);
|
||
|
||
if (this_mld.canClose) // Als je mag accepteren mag je ook rejecten <- Dit is dus niet zo (08-2021)
|
||
{
|
||
// Zijn er nog kenmerken die nu wel verplicht zijn of een object?
|
||
var afwezig = mld.hasRequiredStatusEmptyMelding(mld_key, 5); // Melding status "Afgemeld(5)"
|
||
if (afwezig.kenm_ontbreekt.length || afwezig.obj_ontbreekt)
|
||
{
|
||
mldRequireCnt++;
|
||
var mldnr = mld.mld_prefix(mld_key) + mld_key;
|
||
if (afwezig.kenm_ontbreekt.length)
|
||
reqStatusEmptyMelding.push(L("lcl_mld_req_status_empty").format(afwezig.kenm_ontbreekt.join(", "), mldnr) );
|
||
if (afwezig.obj_ontbreekt)
|
||
reqStatusEmptyMelding.push(L("lcl_mld_req_obj").format(mldnr) );
|
||
reqStatusEmptyMeldingkey = mld_key;
|
||
reqStatusEmptyMeldingnr = mldnr;
|
||
}
|
||
// Zijn er nog lopende opdrachten?
|
||
var canCloseOpdrOfMld = [];
|
||
var sql = "SELECT o.mld_opdr_key"
|
||
+ " FROM mld_opdr o"
|
||
+ " WHERE o.mld_melding_key IN (" + mld_key + ")"
|
||
+ " AND o.mld_statusopdr_key NOT IN (1, 6, 7, 9)";
|
||
var oRsOM = Oracle.Execute(sql);
|
||
var noOpdrCloseAtAll = false;
|
||
futureOpdr = false;
|
||
closeCheckDone = true;
|
||
while (!oRsOM.eof)
|
||
{ // Voor elke opdracht van een melding controleren of deze afgemeld mag worden
|
||
var this_opdr = mld.func_enabled_opdracht(oRsOM("mld_opdr_key").Value);
|
||
var mld_opdr = this_opdr.mld_opdr;
|
||
sql = "SELECT mld_opdr_einddatum"
|
||
+ " FROM mld_opdr o"
|
||
+ " WHERE o.mld_opdr_key = " + oRsOM("mld_opdr_key").Value;
|
||
var oRs = Oracle.Execute(sql);
|
||
|
||
var mld_opdr_einddatum = oRs("mld_opdr_einddatum").Value != null? new Date(oRs("mld_opdr_einddatum").Value) : null;
|
||
var kosten_verplicht_afm = mld_opdr.tonen_totaal && (mld_opdr.typeopdr_kosten_verplicht & 2 || (mld_opdr.typeopdr_kosten_verplicht == 0 && mld_opdr.opdrkosten_verplicht & 2));
|
||
var opdr_kosten = mld_opdr.t_cost;
|
||
|
||
// Als Setting S("mld_ord_afmeld_future") niet is gezet (0): Opdrachten waarvan de einddatum in de toekomst ligt mogen niet worden afgemeld.
|
||
if (!this_opdr.canClose || (S("mld_ord_afmeld_future") != 1 && (mld_opdr_einddatum && (mld_opdr_einddatum > new Date()))) || (kosten_verplicht_afm && opdr_kosten == 0))
|
||
{ // Geen autorisatie om alle opdrachten van een melding af te melden of opdrachten in de toekomst met setting S("mld_ord_afmeld_future") niet gezet-->dan geen enkele van die melding
|
||
noOpdrCloseAtAll = true;
|
||
if (S("mld_ord_afmeld_future") != 1 && (mld_opdr_einddatum && (mld_opdr_einddatum > new Date())))
|
||
futureOpdr = true; // Indien opdrachten in de toekomst en setting S("mld_ord_afmeld_future") niet gezet (0) dan mag je de melding niet afmelden
|
||
}
|
||
oRs.Close();
|
||
canCloseOpdrOfMld.push(oRsOM("mld_opdr_key").Value);
|
||
oRsOM.MoveNext();
|
||
}
|
||
oRsOM.Close();
|
||
// Geen autorisatie om alle opdrachten van een melding af te melden of opdrachten in de toekomst met setting S("mld_ord_afmeld_future") niet gezet (0)
|
||
// --> dan geen enkele van die melding
|
||
if (!noOpdrCloseAtAll)
|
||
{
|
||
for (var j = 0; j < canCloseOpdrOfMld.length; j++)
|
||
{
|
||
canCloseOpdr.push(canCloseOpdrOfMld[j]);
|
||
}
|
||
}
|
||
|
||
if (!futureOpdr)
|
||
{ // Indien opdrachten in de toekomst en setting S("mld_ord_afmeld_future") niet gezet (0) dan mag je de melding niet afmelden
|
||
ingesloten.push(mld_key);
|
||
tobeclosed++;
|
||
}
|
||
}
|
||
|
||
// Als er meerder meldingen zijn waarvan een verplicht kenmerk niet is ingevuld, dan abort en melding.
|
||
// Als er 1 melding is waarvan een verplicht kenmerk niet is ingevuld, dan wordt er verderop alleen een melding met twee buttons getoond.
|
||
user.anything_todo_or_abort(mldRequireCnt < 2, reqStatusEmptyMelding.join("<br />"));
|
||
|
||
var canCloseCtr = 0;
|
||
for (var i = 0; i < ingesloten.length; i++)
|
||
{
|
||
if (i == 0) lcl.set_dialect(mld_info.srtdisc_key, "MLD_SRTDISCIPLINE_KEY"); // Neem voor informatie de eerste melding.
|
||
|
||
var sql = "SELECT dsc.ins_deel_key"
|
||
+ " , dsc.ins_srtcontrole_key"
|
||
+ " , cdp.ctr_disc_params_controle_type"
|
||
+ " , mo.ins_deelsrtcontrole_key"
|
||
+ " FROM ins_deelsrtcontrole dsc"
|
||
+ " , ins_srtcontrole isc"
|
||
+ " , ctr_disc_params cdp"
|
||
+ " , mld_melding_object mo"
|
||
+ " WHERE dsc.ins_srtcontrole_key = isc.ins_srtcontrole_key"
|
||
+ " AND isc.ctr_discipline_key = cdp.ctr_ins_discipline_key"
|
||
+ " AND mo.ins_deelsrtcontrole_key = dsc.ins_deelsrtcontrole_key"
|
||
+ " AND mo.mld_melding_key = " + ingesloten[i];
|
||
var oRs = Oracle.Execute(sql);
|
||
while (!oRs.eof)
|
||
{
|
||
// De controle moet aanwezig zijn. Maar een inspectie kan ook verwijderd zijn!
|
||
var this_ins = ins.func_enabled_deel(oRs("ins_deel_key").Value,
|
||
{srtcont_key: oRs("ins_srtcontrole_key").Value,
|
||
deelsrtcont_key: oRs("ins_deelsrtcontrole_key").Value,
|
||
scen_key: 1
|
||
});
|
||
|
||
if (this_ins.canInspFinishMjb)
|
||
{
|
||
canCloseCtr++;
|
||
controleModeArray[oRs("ctr_disc_params_controle_type").Value - 1] = oRs("ctr_disc_params_controle_type").Value; // Controlemode 2 op de 2de plek van de Array invullen [-1, 2, -1].
|
||
}
|
||
oRs.MoveNext();
|
||
}
|
||
oRs.Close();
|
||
}
|
||
|
||
// De -1 waarden in de controlemode Array verwijderen
|
||
for (var i = 2; i >= 0; i--)
|
||
{
|
||
if (controleModeArray[i] == -1) controleModeArray.splice(i, 1);
|
||
}
|
||
|
||
// BESTAANDE MELDING
|
||
user.auth_required_or_abort(this_mld.canReadAny || this_mld.canChangeKenmerkBlok);
|
||
|
||
if(mld_info.remark != null)
|
||
remark = mld_info.remark;
|
||
|
||
var sql = "SELECT l.alg_locatie_code||DECODE(aog.alg_plaatsaanduiding, NULL,'','-'||aog.alg_plaatsaanduiding) plaatscode"
|
||
+ ", COALESCE(g.alg_gebouw_adres, l.alg_locatie_adres) ||' '|| l.alg_locatie_plaats adres"
|
||
+ ", aog.alg_onroerendgoed_omschrijving plaats "
|
||
+ ", aog.alg_ruimte_key"
|
||
+ ", m.mld_melding_start_key"
|
||
+ ", COALESCE(m.mld_alg_onroerendgoed_keys, m.mld_alg_locatie_key) plaats_key"
|
||
+ ", COALESCE(aog.alg_type, CASE WHEN m.mld_alg_locatie_key IS NOT NULL THEN 'L' ELSE NULL END) plaats_niveau"
|
||
+ " FROM "
|
||
+ " mld_melding m"
|
||
+ ", alg_v_allonrgoed_gegevens aog"
|
||
+ ", alg_locatie l"
|
||
+ ", alg_gebouw g"
|
||
+ " WHERE mld_melding_key = " + mld_key
|
||
+ " AND m.mld_alg_onroerendgoed_keys = aog.alg_onroerendgoed_keys(+)"
|
||
+ " AND aog.alg_gebouw_key = g.alg_gebouw_key(+)"
|
||
+ " AND m.mld_alg_locatie_key = l.alg_locatie_key(+)";
|
||
var oRs = Oracle.Execute(sql);
|
||
var plaats_string = oRs("plaatscode").Value ? oRs("plaatscode").Value + " " + (oRs("plaats").Value || "") : "";
|
||
var adres_string = oRs("adres").Value ? oRs("adres").Value : "";
|
||
var stdm_key = mld_info.stdm_key;
|
||
var stdm_info = mld.mld_stdmeldinginfo(stdm_key);
|
||
start_key = oRs("mld_melding_start_key").Value
|
||
|
||
if (oRs("alg_ruimte_key").Value)
|
||
ruimte_key = oRs("alg_ruimte_key").Value; // kan ik aan de ruimtebutton meegeven
|
||
plaats_key = oRs("plaats_key").Value;
|
||
plaats_niveau = oRs("plaats_niveau").Value;
|
||
oRs.Close();
|
||
|
||
// Haal gerelateerde objecten op.
|
||
sql = "SELECT d.ins_deel_key"
|
||
+ " , " + element_description + " deel"
|
||
+ " FROM mld_melding_object mo"
|
||
+ " , ins_deel d"
|
||
+ " , ins_srtdeel s"
|
||
+ " , ins_srtgroep g"
|
||
+ " , ins_tab_discipline dis"
|
||
+ " WHERE mo.ins_deel_key = d.ins_deel_key"
|
||
+ " AND d. ins_srtdeel_key = s.ins_srtdeel_key"
|
||
+ " AND s.ins_srtgroep_key = g.ins_srtgroep_key"
|
||
+ " AND g.ins_discipline_key = dis.ins_discipline_key"
|
||
+ " AND mo.mld_melding_key = " + mld_key;
|
||
var oRso = Oracle.Execute(sql);
|
||
while (!oRso.eof)
|
||
{
|
||
ins_keys_arr.push(oRso("ins_deel_key").Value);
|
||
ins_name_arr.push(oRso("deel").Value);
|
||
oRso.MoveNext();
|
||
}
|
||
oRso.Close();
|
||
}
|
||
else
|
||
{
|
||
// NIEUWE MELDING Stdm_Key is ondertussen gegarandeerd
|
||
var melder_obj = user;
|
||
|
||
// Bepaal de gedetailleerdste plaats die mobiel bekend is of meegegeven.
|
||
alg_params.plaats = { key: ruimte_key
|
||
, niveau: "R"
|
||
}
|
||
if (alg_params.plaats.key == -1) {alg_params.plaats.key = alg_params.flr_key; alg_params.plaats.niveau = "V";}
|
||
if (alg_params.plaats.key == -1) {alg_params.plaats.key = alg_params.bld_key; alg_params.plaats.niveau = "G";}
|
||
if (alg_params.plaats.key == -1) {alg_params.plaats.key = alg_params.loc_key; alg_params.plaats.niveau = "L";}
|
||
|
||
if (alg_params.plaats.niveau == 'L')
|
||
sql = "SELECT l.alg_locatie_code plaatscode"
|
||
+ " , l.alg_locatie_adres adres"
|
||
+ " , l.alg_locatie_plaats plaats"
|
||
+ " FROM alg_locatie l"
|
||
+ " WHERE l.alg_locatie_key = " + alg_params.plaats.key;
|
||
else
|
||
sql = "SELECT l.alg_locatie_code||DECODE(aog.alg_plaatsaanduiding, NULL,'','-'||aog.alg_plaatsaanduiding) plaatscode"
|
||
+ ", COALESCE(g.alg_gebouw_adres, l.alg_locatie_adres) ||' '|| l.alg_locatie_plaats adres"
|
||
+ ", aog.alg_onroerendgoed_omschrijving plaats "
|
||
+ " FROM alg_v_allonrgoed_gegevens aog"
|
||
+ ", alg_locatie l"
|
||
+ ", alg_gebouw g"
|
||
+ " WHERE aog.alg_onroerendgoed_keys = " + alg_params.plaats.key
|
||
+ " AND aog.alg_type = " + safe.quoted_sql(alg_params.plaats.niveau)
|
||
+ " AND aog.alg_gebouw_key = g.alg_gebouw_key"
|
||
+ " AND aog.alg_locatie_key = l.alg_locatie_key";
|
||
var oRs = Oracle.Execute(sql);
|
||
var plaats_string = !oRs.Eof && oRs("plaatscode").Value? oRs("plaatscode").Value + " " + oRs("plaats").Value : "";
|
||
var adres_string = !oRs.Eof && oRs("adres").Value ? oRs("adres").Value : "";
|
||
oRs.Close();
|
||
|
||
this_mld = mld.func_enabled_mld(stdm_info.ins_srtdiscipline_key, "S"); // wat mag ik zoal op een nieuwe melding
|
||
var mld_info = { stdm_key: stdm_info.mld_stdmelding_key
|
||
, ruimte_key: ruimte_key
|
||
, srtdisc_key: stdm_info.ins_srtdiscipline_key
|
||
, disc_key: stdm_info.ins_discipline_key
|
||
, show_ins: stdm_info.ins_srtdiscipline_ins
|
||
, show_res: stdm_info.ins_srtdiscipline_res
|
||
, srtinst_verplichtstatus: stdm_info.srtinst_verplichtstatus
|
||
, mld_stdmelding_omschrijving: stdm_info.stdmelding_omschrijving
|
||
, srtdisc_oms: stdm_info.srtdisc_oms
|
||
, ins_discipline_omschrijving: stdm_info.discipline_omschrijving
|
||
, kpnverplicht: stdm_info.kpnverplicht
|
||
, prefix: stdm_info.ins_srtdiscipline_prefix
|
||
, meldbron_key: meldbron_key
|
||
, melder_key: ( ( fronto || frontend || (!this_mld.canFOwrite && !this_mld.canBOwrite && this_mld.canFEwrite))
|
||
? user_key
|
||
: -1)
|
||
, deelsrtcont_key: deelsrtcont_key
|
||
, loc_key: alg_params.loc_key
|
||
, bld_key: alg_params.bld_key
|
||
, flr_key: alg_params.flr_key
|
||
, roo_key: alg_params.roo_key
|
||
};
|
||
|
||
if (frontend)
|
||
mld_info.mld_kk = (stdm_info.ins_srtdiscipline_kostenklant & 1) == 1? 1 : 0;
|
||
else
|
||
mld_info.mld_kk = (stdm_info.ins_srtdiscipline_kostenklant & 4) == 4? 1 : 0;
|
||
var mandaat_eigen_kp = S("prs_dep_default_kpn") > 0 || stdm_info.show_eigen_kp == 1; // voor alle vakgroepen gemandateerd op eigen kp
|
||
if (mandaat_eigen_kp && mld_info.mld_kk == 1)
|
||
mld_info.kostenpl_key = melder_obj.prs_kostenplaats_key() || -1;
|
||
|
||
plaats_niveau = getQParamSafe("alg_type", "");
|
||
|
||
var loc_key = getQParamInt("loc_key", -1);
|
||
var bld_key = getQParamInt("bld_key", -1);
|
||
var flr_key = getQParamInt("flr_key", -1);
|
||
var roo_key = getQParamInt("roo_key", -1);
|
||
switch (plaats_niveau)
|
||
{
|
||
case "L": plaats_key = loc_key; break;
|
||
case "G": plaats_key = bld_key; break;
|
||
case "V": plaats_key = flr_key; break;
|
||
case "R": plaats_key = roo_key; break;
|
||
}
|
||
}
|
||
|
||
if (frontend && !mld_info.mld_kk)
|
||
{ // Indien frontend en kostenklant vinkje is uit, dan moet alleen de kostenplaats van het geselecteerde gebouw gekozen kunnen worden.
|
||
// LET OP!: Persoon hoeft niet gemandateerd te zijn voor deze kostenplaats.
|
||
// De kostenplaats van het gekozen gebouw wordt in een hidden input veld opgeslagen/bijgehouden.
|
||
// Deze wordt meegegeven aan de FCLTkostenplaatsselector.
|
||
var sqlg = "SELECT g.prs_kostenplaats_key"
|
||
+ " FROM alg_gebouw g"
|
||
+ " WHERE g.alg_gebouw_key = " + mld_info.bld_key;
|
||
var oRsg = Oracle.Execute(sqlg);
|
||
mld_info.mld_kostenpl_key = (!oRsg.eof ? oRsg("prs_kostenplaats_key").Value || -1 : -1);
|
||
oRsg.Close();
|
||
}
|
||
|
||
|
||
var subject = (mld_key > -1
|
||
? (mld_info.prefix || "")+ mld_key + " " + mld_info.mld_stdmelding_omschrijving
|
||
: L("lcl_mobile_new").format(mld_info.mld_stdmelding_omschrijving )
|
||
);
|
||
|
||
var subjectSubheader = "";
|
||
if (addSubheader)
|
||
{
|
||
subjectSubheader = L("lcl_mobile_at").format(plaats_string);
|
||
}
|
||
|
||
if (frontend)
|
||
var editKostenplaats = ((stdm_info.ins_srtdiscipline_kostenklant & 2) != 2 && stdm_info.kpnverplicht); // Kostenplaats verbergen voor FE als ins_srtdiscipline_kostenklant 2 is.
|
||
else
|
||
var editKostenplaats = ((stdm_info.ins_srtdiscipline_kostenklant & 8) != 8 && stdm_info.kpnverplicht); // Kostenplaats verbergen voor FO/BO als ins_srtdiscipline_kostenklant 8 is.
|
||
|
||
lcl.set_dialect(stdm_info.ins_srtdiscipline_key, "MLD_SRTDISCIPLINE_KEY");
|
||
|
||
%>
|
||
<html>
|
||
<head>
|
||
<% FCLTMHeader.Generate({title: subject }); %>
|
||
<script type="text/javascript">
|
||
/* global */ var loadingAI;
|
||
var this_mld = JSON.parse("<%=safe.jsstring(JSON.stringify(this_mld))%>");
|
||
<% if (getQParamInt("notitie", 0) == 1) { %>
|
||
$(function() {
|
||
jqToast(L("lcl_mobile_data_saved"));
|
||
});
|
||
<% } %>
|
||
<% if (getQParamInt("melding", 0) == 1) { %>
|
||
$(function() {
|
||
var toaster_text = (L("lcl_mld_fe_newmelding_confirm") != "" ? L("lcl_mld_fe_newmelding_confirm").format("<%=mld_key%>") : L("lcl_mobile_data_saved"));
|
||
jqToast(toaster_text);
|
||
});
|
||
<% } %>
|
||
|
||
var frontend = (<%=frontend? 1 : 0%> == 1);
|
||
$(function()
|
||
{
|
||
if (<%=stdm_key%> > 0) // Alleen uitvoeren als de stdmelding bekend is.
|
||
window.stdm_info = "<%=safe.jsstring(JSON.stringify(stdm_info))%>";
|
||
});
|
||
|
||
var timerID=null;
|
||
function delayed(delay, fn)
|
||
{
|
||
if (timerID) clearTimeout(timerID);
|
||
timerID = setTimeout(fn, delay);
|
||
}
|
||
|
||
<% if (mld_key > -1 && this_mld.canAccept) { %>
|
||
function mld_accept_confirm() {
|
||
|
||
var setting_mld_accept_confirm = <%=S("mld_accept_confirm")?1:0%>;
|
||
|
||
if (setting_mld_accept_confirm) {
|
||
mobile.changePage("accp-4-<%=mld_key%>");
|
||
} else {
|
||
FcltMgr.confirm("<%=safe.jsstring(L("lcl_mld_accept_1") + (mld_info.prefix || "") + mld_key + L("lcl_mld_accept_2"))%>", {
|
||
autoconfirm: "<%autoConfirm%>" || "<%multi%>"
|
||
}, function () {
|
||
var data = {
|
||
mld_key: "<%=mld_key%>",
|
||
multi: "<%multi%>",
|
||
maybeDouble: "<%maybeDouble%>"
|
||
};
|
||
protectRequest.dataToken(data);
|
||
$.post("<%=rooturl%>/appl/mld/mld_accept_save.asp",
|
||
data,
|
||
McltCallbackAndThenAlways(mld_submit_callback),
|
||
"json");
|
||
});
|
||
}
|
||
return false;
|
||
};
|
||
<% } %>
|
||
|
||
<% if (mld_key > -1 && this_mld.canReject) { %>
|
||
function mld_reject_confirm() {
|
||
mobile.changePage("mrej-5-<%=mld_key%>");
|
||
return false;
|
||
};
|
||
<% } %>
|
||
|
||
<% if (mld_key > -1 && this_mld.canInstem) { %>
|
||
function mld_instem() {
|
||
FcltMgr.confirm(L("lcl_mld_ask_instem").format("<%=safe.jsstring(mld_info.prefix + mld_key)%>"), function() {
|
||
var data = { mld_key: "<%=mld_key%>",
|
||
toaster: 1 };
|
||
protectRequest.dataToken(data);
|
||
$.post("<%=rooturl%>/appl/mld/mld_instemmen.asp",
|
||
data,
|
||
McltCallbackAndThenAlways(function() {
|
||
setTimeout(function () { window.history.back() }, 2500); // De toaster moet wel goed te zien zijn.
|
||
}),
|
||
"json");
|
||
});
|
||
return false;
|
||
};
|
||
<% } %>
|
||
|
||
<% if (mld_key > -1 && this_mld.canClose) { %>
|
||
function mld_close(verynew)
|
||
{
|
||
if (canGenerateAi) {
|
||
loadingAI = getAI();
|
||
}
|
||
|
||
mobile.changePage("close-3-<%=mld_key%>");
|
||
return false;
|
||
};
|
||
<% } %>
|
||
|
||
<% if (mld_key > -1 && this_mld.canReopen) { %>
|
||
function mld_reopen() {
|
||
mobile.changePage("reopen-6-<%=mld_key%>");
|
||
return false;
|
||
};
|
||
<% } %>
|
||
|
||
function mld_continue()
|
||
{
|
||
mobile.changePage("continue-7-<%=mld_key%>");
|
||
return false;
|
||
}
|
||
|
||
function mld_print()
|
||
{
|
||
FcltMgr.openDetail("/appl/mld/mld_opdr_xml.asp?mld_key=<%=mld_key%>");
|
||
return false;
|
||
};
|
||
|
||
// 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]
|
||
function mldDoubleCallback(data, text)
|
||
{
|
||
if (data.mode == 2) // Eigen melding gewenst
|
||
{
|
||
iface.button.disable("btn_mld_submit"); // Disable de "Opslaan" button zodat niet nog een keer gesubmit kan worden.
|
||
$("#forcesave").val(1);
|
||
$.post($("form[name=meld]")[0].action, $("form[name=meld]").serialize(), McltCallbackAndThenAlways(mld_submit_callback), "json"); // Nu definitief
|
||
}
|
||
else if (data.mode == 1) // Geklikt op een gelijksoortige melding
|
||
{
|
||
$("#parent_key").val(data.parent_key);
|
||
$("#forcesave").val(1);
|
||
$.post($("form[name=meld]")[0].action, $("form[name=meld]").serialize(), McltCallbackAndThenAlways(mld_submit_callback), "json"); // Nu definitief
|
||
}
|
||
else
|
||
{
|
||
$("form", "#mdbl").html(data).trigger('create');
|
||
mobile.changePage("mdbl");
|
||
}
|
||
}
|
||
function askdoubleCallback(data, text)
|
||
{
|
||
if (data.child) // 'Koppelen' gekozen
|
||
{
|
||
iface.button.disable("btn_mld_submit"); // Disable de "Opslaan" button zodat niet nog een keer gesubmit kan worden.
|
||
$("#parent_key").val(data.parent_key);
|
||
$("#forcesave").val(1);
|
||
$.post($("form[name=u2]")[0].action, $("[name=u2]").serialize(), mld_submit_callback, "json"); // Nu definitief
|
||
}
|
||
else
|
||
{ // Geen melding aanmaken
|
||
FcltMgr.closeDetail(window, {cancel: true});
|
||
}
|
||
}
|
||
function mld_submit_callback(json)
|
||
{
|
||
if (json.doublecheck)
|
||
{
|
||
var url = "<%=rooturl%>/appl/pda/mld_double.asp?urole=" + json.urole
|
||
+ "&stdmelding_key=" + json.stdm_key
|
||
+ "&ruimtekey=" + json.ruimtekey
|
||
+ "&verdiepingkey=" + json.verdiepingkey
|
||
+ "&gebouwkey=" + json.gebouwkey
|
||
+ "&locatiekey=" + json.locatiekey
|
||
+ "&ins_str=" + json.obj_arr
|
||
+ "&save=1";
|
||
$.get(url,
|
||
{},
|
||
McltCallbackAndThenAlways(mldDoubleCallback));
|
||
return;
|
||
}
|
||
|
||
if (json.success)
|
||
{
|
||
<% if (mld_key < 0) { %>
|
||
if (json.autoorder)
|
||
{
|
||
var data = { mld_key: json.mld_key,
|
||
urole: "fe",
|
||
autoorder: 1 };
|
||
<% protectRequest.dataToken("data"); %>
|
||
$.post("<%=rooturl%>/appl/mld/mld_edit_opdr_save.asp",
|
||
data,
|
||
McltCallbackAndThenAlways(mld_submit_callback),
|
||
"json");
|
||
return; // na opslaan van de opdracht komt vanzelf een nieuwe aanroep van mld_submit_callback
|
||
}
|
||
<% } %>
|
||
|
||
<% if ((user.isGroupedUser() || Session("login_by_fallback")) && qrc) { %>
|
||
// Waarschijnlijk QR-code op koffieautomaat. Niet naar andere schermen springen.
|
||
window.location.href = "<%=rooturl%>/appl/pda/empty.asp?qrc=1&msg=lcl_pda_mld_call_confirm";
|
||
<% } else if (mld_key > 0) { %>
|
||
window.location.href = "<%=rooturl%>/appl/pda/melding.asp?melding=1&mld_key=" + "<%=mld_key%>";
|
||
<% } else if (mld_key < 0) { %>
|
||
// Nieuwe melding aangemaakt.
|
||
var alert_txt = ( $("#melding_onderwerp").val()
|
||
? L("lcl_pda_mld_call_thanks").format(json.mld_key, $("#melding_onderwerp").val())
|
||
: L("lcl_pda_mld_call_thanks_1").format(json.mld_key)
|
||
);
|
||
<% if (this_mld.canBOwrite) { %>
|
||
// Melding verder behandelen.
|
||
alert_txt += "\n" + L("lcl_pda_mld_call_process");
|
||
FcltMgr.confirm( alert_txt
|
||
, { autoconfirm: false
|
||
, fncancel: function() { window.location.href = "<%=rooturl%>/appl/pda/facilitor.asp"; }
|
||
}
|
||
, function() { window.location.href = "<%=rooturl%>/appl/pda/melding.asp?melding=1&mld_key=" + json.mld_key; }
|
||
);
|
||
<% } else { %>
|
||
// Terug naar home pagina.
|
||
FcltMgr.alert(alert_txt);
|
||
window.location.href = "<%=rooturl%>/appl/pda/facilitor.asp";
|
||
<% } %>
|
||
<% } %>
|
||
}
|
||
};
|
||
|
||
async function mld_submit()
|
||
{
|
||
if (!await validateForm("meld"))
|
||
return false;
|
||
|
||
// Als er een object gekozen is moet de ruimte_key daarvan ook in de formparams worden opgeslagen voor betere plaatsbepaling van de melding.
|
||
var rtyp = $("#r_objs :selected").attr("ins_alg_ruimte_type");
|
||
if (rtyp=="R")
|
||
{
|
||
var rkey = $("#r_objs :selected").attr("ins_alg_ruimte_key") || -1;
|
||
$("#ruimtekey").val(rkey);
|
||
}
|
||
// TODO: Wat met doublecheck
|
||
// Misschien automatisch forcesave of juist alert dat probleem al gemeld is?
|
||
// 5.2.2 Gold D: inderdaad vooralsnog forcesafe
|
||
$.post($("form[name=meld]")[0].action, $("form[name=meld]").serialize(), McltCallbackAndThenAlways(mld_submit_callback), "json");
|
||
return true;
|
||
}
|
||
|
||
function mld_forward(fwdType)
|
||
{
|
||
window.location.href = "<%=rooturl%>/appl/pda/melding.asp?mld_key=<%=mld_key%>&action=forward&fwdType="+fwdType;
|
||
}
|
||
|
||
function PasteFromSelectbox()
|
||
{
|
||
if ($("#stdopmerk :selected").length && $("#stdopmerk :selected").val() != -1)
|
||
{
|
||
$("#opmerk_close").focus();
|
||
var PastedText = $("#stdopmerk :selected")[0].getAttribute("afmeldtekst");
|
||
$("#opmerk_close").val($("#opmerk_close").val() + ($("#opmerk_close").val() != ""? "\n" : "") + PastedText).trigger("change");
|
||
}
|
||
}
|
||
|
||
function mld_forward_cancel()
|
||
{
|
||
window.location.href = "<%=rooturl%>/appl/pda/melding.asp?mld_key=<%=mld_key%>";
|
||
}
|
||
|
||
async function mld_forward_submit()
|
||
{
|
||
if (!await validateForm("u2"))
|
||
return false;
|
||
console.log($("[name=forwardform]").serialize());
|
||
$.post($("form[name=forwardform]")[0].action,
|
||
$("[name=forwardform]").serialize(),
|
||
mld_forward_submit_callback,
|
||
"json");
|
||
return true;
|
||
}
|
||
|
||
function mld_forward_submit_callback(jdata)
|
||
{
|
||
// Moet er voor de melding met een nieuwe stdmelding automatisch een opdracht aangemaakt worden?
|
||
if (jdata.autoorder)
|
||
{
|
||
var data = { mld_key: <%=mld_key%>,
|
||
message: jdata.message || jdata.toaster,
|
||
autoorder: 1
|
||
};
|
||
<% protectRequest.dataToken("data"); %>
|
||
$.post("<%=rooturl%>/appl/mld/mld_edit_opdr_save.asp",
|
||
data,
|
||
McltCallbackAndThenAlways(afsluiten),
|
||
"json");
|
||
}
|
||
else
|
||
afsluiten(jdata);
|
||
}
|
||
|
||
function afsluiten(jdata)
|
||
{ // Sluit onszelf.
|
||
window.location.href = "<%=rooturl%>/appl/pda/melding.asp?mld_key=<%=mld_key%>";
|
||
}
|
||
|
||
function setInitEinddatum(data, textStatus)
|
||
{
|
||
data.show_enddate_length = $("#show_enddate").length;
|
||
var endDate = new Date(data.einddatum);
|
||
if ($("#enddate").length)
|
||
$("#enddate").val(endDate.getTime());
|
||
|
||
var endTime = ("0" + endDate.getHours()).slice(-2) + ':' + ("0" + endDate.getMinutes()).slice(-2);
|
||
endDate = new Date(endDate);
|
||
endDateStr = calendar_names.daysMin[endDate.getDay()] + " " +
|
||
padout(endDate.getDate()) + "-" + padout(endDate.getMonth() + 1) + "-" + padout(endDate.getFullYear());
|
||
if ($("#show_enddate").attr("type") === "date") { // Deze verwacht YYYY-MM-DD
|
||
endDateStr = padout(endDate.getFullYear()) + "-" + padout(endDate.getMonth() + 1) + "-" + padout(endDate.getDate());
|
||
}
|
||
if ($("#show_enddate").length)
|
||
$("#show_enddate").val(endDateStr);
|
||
if ($("#time_from_enddate").length)
|
||
$("#time_from_enddate").val(endTime);
|
||
}
|
||
|
||
async function mld_close_submit()
|
||
{
|
||
if (loadingAI && loadingAI.readyState !== 4) {
|
||
loadingAI.abort(); // Breek AI request af zodat we ongestoord kunnen submitten
|
||
}
|
||
|
||
if (!await validateForm("u2"))
|
||
return false;
|
||
|
||
$.post($("form[name=closeform]")[0].action,
|
||
$("[name=closeform]").serialize(),
|
||
McltCallbackAndThenAlways(function() {
|
||
window.location.href = "<%=rooturl%>/appl/pda/melding.asp?melding=1&mld_key=" + "<%=mld_key%>";
|
||
}), "json");
|
||
|
||
return true; // disable button
|
||
}
|
||
|
||
function ctrcloseToggler(deze)
|
||
{
|
||
var ctrclose = $(deze).prop('checked');
|
||
if (ctrclose)
|
||
{
|
||
<% for (var i = 0; i < controleModeArray.length; i++)
|
||
{ %>
|
||
$("#sel_controlemode" + <%=controleModeArray[i]%>).addClass("required");
|
||
<% } %>
|
||
$("#inscontrolemode").show();
|
||
FcltMgr.resized(window);
|
||
}
|
||
else
|
||
{
|
||
$("#inscontrolemode").hide();
|
||
<% for (var i = 0; i < controleModeArray.length; i++)
|
||
{ %>
|
||
$("#sel_controlemode" + <%=controleModeArray[i]%>).removeClass("required");
|
||
<% } %>
|
||
}
|
||
}
|
||
|
||
function onChangeMelder(melder_key)
|
||
{
|
||
if (melder_key > 0 && typeof sgDept != "undefined" && (<%=mld_key%> < 0 || $("#sgDept").val() == -1))
|
||
{
|
||
$.getJSON("../prs/get_prs_info_ajax.asp",
|
||
{ req_info: "prs_afdeling",
|
||
prs_perslid_key: melder_key
|
||
},
|
||
process_melder_afdeling);
|
||
}
|
||
}
|
||
|
||
function process_melder_afdeling(data)
|
||
{
|
||
if (data.prs_afdeling_key > 0 && data.prs_afdeling_naam != "")
|
||
{
|
||
sgDept.setValue(data.prs_afdeling_key, data.prs_afdeling_naam, true, true, null, true);
|
||
}
|
||
}
|
||
function mld_opmpaste()
|
||
{
|
||
$("#opmerk_close").focus();
|
||
$("#opmerk_close").val($("#opmerk_close").val() + ($("#opmerk_close").val() != ""? "\n" : "") + "<%=safe.jsstring(opdr_opm)%>");
|
||
$("#opmpaste").css("visibility", "hidden"); // Button na invoegen opmerking onzichtbaar maken zodat geen tweede keer toegevoegd kan worden.
|
||
}
|
||
$(function() {
|
||
<% if (opdr_opm != "" && S("mld_add_mldopmerk_on_opdrclose") == 1)
|
||
{ %>
|
||
mld_opmpaste();
|
||
<% } %>
|
||
<% if (mld_info.melder_key != user_key) { %>
|
||
$("[name='note']").focus(function() {
|
||
$("#quickNoteTip").fadeIn();
|
||
});
|
||
<% }
|
||
if (mld_key < 0 && !mld_info.einddatum) { %>
|
||
recalcEinddatum();
|
||
<% } %>
|
||
// recalculate enddate on change of object
|
||
$("#r_objs").on("change", function _r_objs_change()
|
||
{
|
||
recalcEinddatum();
|
||
});
|
||
});
|
||
|
||
function call_autobutton()
|
||
{
|
||
<% if (autobutton.toLowerCase() == "accept" && this_mld.canAccept) { %>
|
||
mld_accept_confirm();
|
||
<% } %>
|
||
}
|
||
|
||
var mld_key = <%=mld_key%>;
|
||
function recalcEinddatum(recalc_always)
|
||
{
|
||
// Er zijn twee situaties te onderscheiden:
|
||
// 1) Startdatum is zichtbaar/wijzigbaar,
|
||
// De tijd van de startdatum is altijd de begintijd van de dag (setting "fac_t_startofworkday" bijvoorbeeld 8:00 uur)
|
||
// => Startdatum = TRUNC(startdatum) + 8:00 uur
|
||
// => Einddatum = TRUNC(startdatum) + 8:00 uur + SLA
|
||
// LET OP!!!: Als je deze setting zet dan wordt eigenlijk verondersteld dat de SLA in dagen is en niet in uren.
|
||
// Echter als de startdatum vandaag is moet wel voor de begintijd de huidige sysdate tijd genomen worden tijdens het opslaan.
|
||
// Anders geldt de acceptatietijd (in uren) onterecht al vanaf het begin van de dag.
|
||
// Voor het bepalen/berekenen van de einddatum laten de startdatum gewoon aan het begin van de dag beginnen.
|
||
// 2) Startdatum is niet zichtbaar/wijzigbaar
|
||
// De tijd van de startdatum is de tijd van de huidige waarde of van de sysdate, COALESCE(huidige waarde, sysdate).
|
||
// => Startdatum = COALESCE(huidige waarde, sysdate)
|
||
// => Einddatum = COALESCE(huidige waarde, sysdate) + SLA
|
||
// Of de startdatum wel of niet zichtbaar/wijzigbaar is, is in te stellen bij vakgroep door de setting "Startdatum te bepalen" (mld_disc_params_startdatum)
|
||
|
||
var startdate = new Date(parseInt($("#startdate").val(),10));
|
||
var sysdate = new Date();
|
||
|
||
var startOfWorkDay = <%=safe.jsfloat(S("fac_t_startofworkday"))%>;
|
||
var startwerkdag_uur = Math.floor(startOfWorkDay);
|
||
var startwerkdag_min = (startOfWorkDay - Math.floor(startOfWorkDay)) * 60;
|
||
var startdatebegin = new Date(startdate.getFullYear(), startdate.getMonth(), startdate.getDate(), startwerkdag_uur, startwerkdag_min);
|
||
|
||
if (<%=stdm_info.startdatum? 1 : 0%> == 1)
|
||
{ // Situatie 1: Einddatum = TRUNC(startdatum) + 8:00 uur + SLA
|
||
// LET OP!!!: Als setting "mld_disc_params_startdatum" is gezet dan wordt eigenlijk verondersteld dat de SLA in dagen is en niet in uren.
|
||
// Echter als de startdatum vandaag is moet wel voor de begintijd de huidige sysdate tijd genomen worden tijdens het opslaan.
|
||
// Anders geldt de acceptatietijd (in uren) onterecht al vanaf het begin van de dag.
|
||
// Voor het bepalen/berekenen van de einddatum laten de startdatum gewoon aan het begin van de dag beginnen.
|
||
var startdate_is_today = (startdate.midnight().getTime() == sysdate.midnight().getTime());
|
||
startdatum = (startdate_is_today? sysdate.getTime() : startdatebegin.getTime());
|
||
}
|
||
else
|
||
{ // Situatie 2: Einddatum = COALESCE(huidige waarde, sysdate) + SLA
|
||
if (mld_key < 0)
|
||
var startdatum = sysdate.getTime(); // Nieuwe melding, nu/sysdate
|
||
else
|
||
var startdatum = startdate.getTime(); // Wijziging melding, huidige opgeslagen waarde
|
||
}
|
||
|
||
var stdm_key = <%=stdm_key%>;
|
||
var prio = "<%=mld_info.mprio%>" || 3;
|
||
var geb_key = $('#gebouwkey').val();
|
||
var rui_key = $('#ruimtekey').val();
|
||
|
||
// Mobile only has 1 object max
|
||
var ins_key = $("#r_objs").val() || -1;
|
||
|
||
// De voorwaarden of de einddatum opnieuw moet worden berekend zijn voor binnenkomst al afgedwongen.
|
||
// Nu kan de database de einddatum bepalen.
|
||
var params = { req_info: "calc_einddatum",
|
||
startdatum: startdatum,
|
||
srtdisc: <%=mld_info.srtdisc_key%>,
|
||
disc: <%=mld_info.disc_key%>,
|
||
stdm_key: stdm_key,
|
||
prio: prio,
|
||
geb_key: geb_key,
|
||
rui_key: rui_key,
|
||
ins_key: ins_key
|
||
};
|
||
|
||
$.getJSON("<%=rooturl%>/appl/mld/get_mld_info_ajax.asp",
|
||
params,
|
||
setInitEinddatum);
|
||
}
|
||
|
||
// Eventueel automatisch een actie-knop klikken, maar pas nadat het scherm zichtbaar is ivm een confirm tekst.
|
||
window.onload=function(){ call_autobutton(); };
|
||
</script>
|
||
</head>
|
||
<body>
|
||
<%
|
||
|
||
if (action != "forward")
|
||
{
|
||
PAGE_START({ id: "page-1-"+mld_key });
|
||
HEADER({title: subject, back:!qrc, home: !qrc });
|
||
if (addSubheader)
|
||
HEADER({title: subject + " " + subjectSubheader, back:!qrc, home: !qrc });
|
||
CONTENT_START();
|
||
FORM_START("meld", { "name": "meld", "action": rooturl + "/appl/mld/mld_edit_melding_save.asp", "method": "POST" });
|
||
// Altijd forcesave omdat we geen doublecheck aankunnen
|
||
%>
|
||
<input type="hidden" name="mld_key" value="<%=mld_key%>">
|
||
<input type="hidden" name="forcesave" id="forcesave" value="0">
|
||
<input type="hidden" name="parent_key" id="parent_key" value="-1">
|
||
<input type="hidden" name="urole" value="<%=mld_key > 0? "bo" : "fe"%>">
|
||
<input type="hidden" name="stdm" value="<%=mld_info.stdm_key%>">
|
||
<input type="hidden" id="caddwgx" name="caddwgx" value="<%=caddwgx != null? safe.jsfloat(caddwgx) : ""%>">
|
||
<input type="hidden" id="caddwgy" name="caddwgy" value="<%=caddwgy != null? safe.jsfloat(caddwgy) : ""%>">
|
||
<%
|
||
if (mld_key == -1)
|
||
{ // Nieuw, maar deze velden kunnen we zelf verzinnen
|
||
if (isvervolg)
|
||
{
|
||
Response.Write("<input type='hidden' id='start_key' name='start_key' value='"+mld_start_key+"'>");
|
||
}
|
||
if (!fronto)
|
||
{
|
||
%>
|
||
<input type="hidden" id="person" name="person" value="<%=user_key%>">
|
||
<%
|
||
}
|
||
%>
|
||
<input type="hidden" name="locatiekey" value="<%=alg_params.loc_key%>">
|
||
<input type="hidden" name="gebouwkey" value="<%=alg_params.bld_key%>">
|
||
<input type="hidden" name="verdiepingkey" value="<%=alg_params.flr_key%>">
|
||
<input type="hidden" name="ruimtekey" id="ruimtekey" value="<%=alg_params.roo_key%>">
|
||
<input type="hidden" name="meldbronkey" value="<%=mld_info.meldbron_key%>">
|
||
<input type="hidden" name="deelsrtcont_key" value="<%=mld_info.deelsrtcont_key%>">
|
||
|
||
<% // If can appoint process team && has a default process team
|
||
if (stdm_info.srtgroep & 4 && stdm_info.default_ins_disc_key > 0)
|
||
{
|
||
var sql = "SELECT mld_disc_params_srtgroep"
|
||
+ " FROM mld_disc_params mdp"
|
||
+ " WHERE mdp.mld_ins_discipline_key = " + stdm_info.default_ins_disc_key;
|
||
var oRs = Oracle.Execute(sql);
|
||
// If can be a process team
|
||
if (!oRs.eof && oRs("mld_disc_params_srtgroep").Value & 2)
|
||
{ %>
|
||
<input type="hidden" name="mld_ins_discipline" value="<%=stdm_info.default_ins_disc_key%>">
|
||
<% }
|
||
oRs.Close();
|
||
}
|
||
}
|
||
|
||
if (mld_key > -1) // bestaande
|
||
{
|
||
BLOCK_START({ collapsedIcon: "fa-plus", expandedIcon: "fa-minus", collapsed: true, title: (mld_info.mld_onderwerp == null ? L("lcl_mld_frame_algemeen") : mld_info.mld_onderwerp) });
|
||
var prs_melder = new Perslid(mld_info.melder_key);
|
||
var melder_params = {};
|
||
var tel = prs_melder.prs_perslid_mobiel() || prs_melder.prs_perslid_telefoonnr();
|
||
if (tel)
|
||
melder_params = { type: "tel", phone_number: tel };
|
||
melder_params.withhidden = { "id": "person", "value": mld_info.melder_key};
|
||
ROFIELD("fld", L("lcl_caller"), prs_melder.naam(), melder_params);
|
||
if (S("mld_num_prefix_mode") == 1 && mld_info.kostenpl_key > 0 && !editKostenplaats)
|
||
{
|
||
var sql = "SELECT k.prs_kostenplaats_key kpkey"
|
||
+ " , " + S("prs_kpn_string") + " kpstring"
|
||
+ " FROM prs_kostenplaats k"
|
||
+ " WHERE k.prs_kostenplaats_key = " + mld_info.kostenpl_key;
|
||
var oRs = Oracle.Execute(sql);
|
||
ROFIELD("fld", L("lcl_mld_inf_Kostenplaats"), oRs("kpstring").Value);
|
||
oRs.Close();
|
||
}
|
||
|
||
ROFIELD("fld", L("lcl_mld_date_time") , toDateTimeString(mld_info.melddatum));
|
||
ROFIELD("fld", L("lcl_vakgroup") , (mld_info.prefix ? mld_info.prefix+"-" : "") + mld_info.ins_discipline_omschrijving);
|
||
if (stdm_info.srtgroep & 4 && mld_info.behandel_key > 0)
|
||
{
|
||
var prs_behandelaar = new Perslid(mld_info.behandel_key);
|
||
ROFIELD((mld_info.behandel_key != user_key ?"attention":"fld"), L("lcl_mld_behandelaar"), prs_behandelaar.naam(), { suppressEmpty: true });
|
||
}
|
||
BLOCK_END();
|
||
}
|
||
else // nieuwe
|
||
{
|
||
if (addObjectDesc)
|
||
ROFIELD("fld", L("lcl_ins_object"), ins_name);
|
||
if (fronto && !this_mld.canReadFEOnly)
|
||
{
|
||
var personEditable = (mld_key > 0 && this_mld.canPersChange) || (mld_key < 0 && this_mld.canFOwrite);
|
||
FCLTpersoonselector("person",
|
||
"sgPerson",
|
||
{ perslidKey: mld_info.melder_key,
|
||
xxlabel: L("lcl_mld_name"),
|
||
fieldNameKey: "person",
|
||
readonly: !personEditable,
|
||
autlevel: this_mld.authparams(autfunction) && this_mld.authparams(autfunction).PRSwritelevel,
|
||
required: personEditable,
|
||
onChange: "onChangeMelder"
|
||
});
|
||
}
|
||
}
|
||
|
||
if (mld_info.show_ins && (stdm_info.alg_onrgoed_obj_niveau || stdm_info.prsafdobj))
|
||
{
|
||
if (ins_key > 0 && mld_key < 0)
|
||
{ // Nieuwe melding waarbij het object bekend is: via qrc-code
|
||
%><input type="hidden" name="has_r_objs" value="1">
|
||
<input type="hidden" name="r_objs" value="<%=ins_key%>">
|
||
<%
|
||
}
|
||
else if (ins_name_arr.length < 2 && (mld_key < 0 || this_mld.canPlaatsChange)) // Meerdere objecten bewerken ondersteunen we niet.
|
||
{
|
||
%><input type="hidden" name="has_r_objs" value="1"><%
|
||
var sql = get_objecten_sql(plaats_key, plaats_niveau, user_key, null, mld_info.stdm_key, {extracode: "UITV"});
|
||
var tsql = "SELECT count(*) aantal FROM (" + sql + ")";
|
||
var toRs = Oracle.Execute(tsql);
|
||
var aantalObj = toRs("aantal").Value;
|
||
toRs.close();
|
||
var EmptyOption = true;
|
||
if (aantalObj > 0 || mld_info.srtinst_verplichtstatus == 2)
|
||
{
|
||
if (aantalObj == 1 && mld_info.srtinst_verplichtstatus == 2)
|
||
EmptyOption = false;
|
||
FCLTselector( "r_objs"
|
||
, sql
|
||
, { initKey: ins_keys_arr.length?ins_keys_arr[0]:-1
|
||
, label: L("lcl_gerelateerdeobjecten")
|
||
, mobile: true
|
||
, extraParamValue: "ins_alg_ruimte_key,ins_alg_ruimte_type,uitvoertijd"
|
||
, emptyOption: (EmptyOption ? L("lcl_select_object") : null)
|
||
, required: mld_info.srtinst_verplichtstatus == 2
|
||
}
|
||
);
|
||
}
|
||
}
|
||
else if (ins_name_arr.length)
|
||
ROFIELD("fld", L("lcl_gerelateerdeobjecten"), ins_name_arr.join("\n"), {multi: ins_name_arr.length > 1});
|
||
}
|
||
|
||
if (S("mld_use_department") == 1)
|
||
{
|
||
var dep_key = mld_info.afdeling_key;
|
||
if (!dep_key)
|
||
{
|
||
if (mld_info.melder_key > 0)
|
||
dep_key = new Perslid(mld_info.melder_key).prs_afdeling_key();
|
||
else
|
||
dep_key = user.prs_afdeling_key();
|
||
}
|
||
FCLTafdelingselector("sgDept", "sgDept",
|
||
{ departmentKey: dep_key,
|
||
label: L("lcl_mld_afdeling"),
|
||
autlevel: this_mld.authparams(autfunction) && this_mld.authparams(autfunction).PRSwritelevel,
|
||
filtercode: "INCL",
|
||
readonly: (mld_key > 0 && !this_mld.canDeptChange),
|
||
required: true,
|
||
suppressJustOne: true
|
||
});
|
||
}
|
||
|
||
if (editKostenplaats)
|
||
{
|
||
var urlAdd_account = [{ urlParam: "prs_key", field: "person" }];
|
||
if (frontend && !mld_info.mld_kk)
|
||
{ // Indien frontend en kostenklant vinkje is uit, dan moet alleen de kostenplaats van het geselecteerde gebouw gekozen kunnen worden.
|
||
// LET OP!: Persoon hoeft niet gemandateerd te zijn voor deze kostenplaats.
|
||
// De kostenplaats van het geselecteerde gebouw wordt meegegeven aan de FCLTkostenplaatsselector
|
||
// zodat alleen deze kostenplaats als resultaat opgeleverd gaat worden.
|
||
urlAdd_account.push({ urlParam: "kp_key", field: "account_bld" });
|
||
%>
|
||
<input type="hidden" id="account_bld" name="account_bld" value="<%=mld_info.mld_kostenpl_key%>">
|
||
<%
|
||
}
|
||
FCLTkostenplaatsselector("account",
|
||
"sgAccount",
|
||
mld_info.melder_key,
|
||
{ kostenplaatsKey: mld_info.kostenpl_key || -1,
|
||
label: (urole == "fe")?L("lcl_mld_inf_Kostenplaats"):L("lcl_mld_inf_Kostenklant"),
|
||
showCustomLabel: true,
|
||
extraParamField: "kmodule",
|
||
extracode: "M",
|
||
filtercode: "AA", // Alleen actieve kostenplaatsen kunnen selecteren "All Active". Huidige waarde als initi<74>le waarde kan bij kostenplaatsen altijd.
|
||
urlAdd: urlAdd_account,
|
||
readonly: (mld_key > 0 && !this_mld.canKostChange),
|
||
required: (!(mld_key > 0 && !this_mld.canKostChange)? mld_info.kpnverplicht : false)
|
||
});
|
||
}
|
||
else
|
||
{
|
||
%>
|
||
<input type="hidden" name="account" id="sgAccount" value="<%=mld_info.kostenpl_key || -1 %>">
|
||
<% }
|
||
|
||
var canPrioChangeFOBO = (this_mld.canFOwrite ? 1 : 0);
|
||
var canPrioChange = (stdm_info.planbaarfe == 0 && (this_mld.canFOwrite || (this_mld.canFEwrite && stdm_info.frontendprio && (mld_key < 0 || mld_info.mld_status == 1 || mld_info.mld_status == 2)))? 1 : 0);
|
||
|
||
if (mld_key > -1)
|
||
{
|
||
var params = { suppressEmpty: true
|
||
, moreinfo: "#info-4-"+mld_key
|
||
};
|
||
|
||
ROFIELD("fld", L("lcl_place"), plaats_string, params);
|
||
if (S("mld_print_loc_address")==3) // mag van mij op zich wel standaard eigenlijk
|
||
ROFIELD("fld", L("lcl_adress"), adres_string, {suppressEmpty: true} );
|
||
|
||
var oms_readonly = !(this_mld.canOmsChange);
|
||
if (S("mld_omschrijving_restrict_edit") == 1)
|
||
oms_readonly = oms_readonly || !(mld_info.mld_status == 2 || mld_info.mld_status == 3);
|
||
|
||
if ((stdm_info.subject != 0) && !(oms_readonly && !mld_info.mld_onderwerp))
|
||
{
|
||
RWFIELD("melding_onderwerp", L("lcl_mld_subject"), mld_info.mld_onderwerp
|
||
, { pclass: ((stdm_info.subject == 2 && (this_mld.canOmsChange || mld_key < 0))? " required" : "")
|
||
, readonly: (oms_readonly ? true : false)
|
||
}
|
||
);
|
||
}
|
||
|
||
if (mld_info.freetext != 0 && (!oms_readonly || mld_info.mld_omschr))
|
||
{
|
||
// Complaint text description
|
||
RWFIELD("melding_omschrijving", L("lcl_txt"), mld_info.mld_omschr, { multi: true, pclass: (mld_info.freetext == 2 && (this_mld.canOmsChange || mld_key < 0) ? "required" : ""), readonly: oms_readonly });
|
||
}
|
||
|
||
var zichtbaar = (mld_info.fenotes == 1 || mld_info.fenotes == 3 );
|
||
|
||
if (quicknoteSetting == 1 && this_mld.canChange) {
|
||
RWFIELD("note", L("lcl_mld_quick_note_new"), null, {multi: true});
|
||
if (mld_info.melder_key != user_key) { %>
|
||
<p id="quickNoteTip" style="display: none;"><sup><%=(zichtbaar ? safe.html(L("lcl_fac_ano_intotext1")) + " " + safe.html(L("lcl_mld_zichtbaar_FE")) : safe.html(L("lcl_fac_ano_intotext1")) + " " + safe.html(L("lcl_mld_verborgen_FE")))%></sup></p>
|
||
<% }
|
||
}
|
||
|
||
if (mld_info.mprio != 3 && !canPrioChange)
|
||
{
|
||
ROFIELD("attention", L("lcl_mld_urg"), mld.getpriotext(mld_info.mprio));
|
||
}
|
||
if (!(stdm_info.srtgroep & 4) && mld_info.behandel_key > 0 && mld_info.primaire_behandelaar != 0)
|
||
{
|
||
var prs_behandelaar = new Perslid(mld_info.behandel_key);
|
||
ROFIELD((mld_info.behandel_key != user_key ?"attention":"fld"), L("lcl_mld_behandelaar"), prs_behandelaar.naam(), { suppressEmpty: true });
|
||
}
|
||
if (mld_info.mld_ins_discipline_key > 0)
|
||
{
|
||
ROFIELD("fld", L("mld_processing_group"), (mld_info.mld_srtins_prefix ? mld_info.mld_srtins_prefix + "-" : "") + mld_info.mld_ins_discipline_omschrijving);
|
||
}
|
||
if (mld_info.behandel2_key > 0)
|
||
{
|
||
var prs_behandelaar2 = new Perslid(mld_info.behandel2_key);
|
||
ROFIELD((mld_info.behandel2_key != user_key ?"attention":"fld"), L("lcl_mld_processor"), prs_behandelaar2.naam(), { suppressEmpty: true });
|
||
}
|
||
}
|
||
else // Nieuwe
|
||
{
|
||
if (stdm_info.subject != 0 && !(stdm_info.subject == 3 && S("ai_enabled") & 1))
|
||
{
|
||
RWFIELD("melding_onderwerp", L("lcl_mld_subject"), mld_info.mld_onderwerp
|
||
, { pclass: ((stdm_info.subject == 2 && (this_mld.canOmsChange || mld_key < 0))? " required" : "") }
|
||
);
|
||
}
|
||
|
||
if (stdm_info.freetext > 0)
|
||
RWFIELD("melding_omschrijving", L("lcl_txt"), "", {multi: true, pclass: (stdm_info.freetext==2 ? "required" : "") });
|
||
}
|
||
|
||
var sql = null;
|
||
if (mld_info.stdm_key > 0)
|
||
{
|
||
sql = "";
|
||
var union = "";
|
||
for (var i in stdm_info.prioriteiten)
|
||
{
|
||
var priotxt = stdm_info.prioriteiten[i].text;
|
||
if (__Logging > 0)
|
||
{
|
||
priotxt += " **";
|
||
priotxt += stdm_info.prioriteiten[i].uitvoertijd + " " + (stdm_info.prioriteiten[i].eenheid == 'D'? L("lcl_mld_days") : L("lcl_mld_hours"));
|
||
}
|
||
sql += union
|
||
+ " SELECT " + stdm_info.prioriteiten[i].key
|
||
+ ", " + safe.quoted_sql(priotxt)
|
||
+ " FROM DUAL";
|
||
union = " UNION";
|
||
}
|
||
}
|
||
|
||
if (canPrioChange)
|
||
{
|
||
// De prioriteitenmatrix indien aangegeven is dat dat moet EN als ALLE denkbare prioriteiten 1 t/m gedefinieerd zijn
|
||
// Als dat niet het geval is zouden er gaten ontstaan en wordt het enigszins onvoorspelbaar, dus dan maar niet.
|
||
if ((mld_key < 0 || (mld_key > 0 && canPrioChangeFOBO && (stdm_info.prioriteiten[1] && stdm_info.prioriteiten[2] && stdm_info.prioriteiten[4]))) &&
|
||
stdm_info.priomatrix > 0)
|
||
{
|
||
var urgentiesql= [];
|
||
for (var i = 1; i <= 3; i++)
|
||
{
|
||
urgentiesql.push("SELECT " + i + ", " + safe.quoted_sql(L("lcl_mld_urgentie" + i)) + "||' - '|| " + safe.quoted_sql(L("lcl_mld_urgentie" + i + "_info")) + " tt FROM DUAL");
|
||
}
|
||
FCLTselector("urgentie",
|
||
urgentiesql.join(" UNION ") + " ORDER BY 1",
|
||
{ initKey: mld_info.murgentie,
|
||
label: L("lcl_mld_matrixlabelprefix")+L("lcl_mld_urgentie"),
|
||
mobile: true,
|
||
//titleCol: "tt",
|
||
emptyOption: L("lcl_select_urgentie"),
|
||
readonly: (mld_key > 0 && !canPrioChange),
|
||
onChange: "onChangeImpactOrUrgentie(1)",
|
||
trclass: "tr_priomatrix"
|
||
});
|
||
|
||
var impactsql= [];
|
||
for (var i = 1; i <= 3; i++)
|
||
{
|
||
impactsql.push("SELECT " + i + ", " + safe.quoted_sql(L("lcl_mld_impact" + i)) + "||' - '|| " + safe.quoted_sql(L("lcl_mld_impact" + i + "_info")) + " tt FROM DUAL");
|
||
}
|
||
FCLTselector("impact",
|
||
impactsql.join(" UNION ") + " ORDER BY 1",
|
||
{ initKey: mld_info.mimpact,
|
||
label: L("lcl_mld_matrixlabelprefix")+L("lcl_mld_impact"),
|
||
mobile: true,
|
||
//titleCol: "tt",
|
||
emptyOption: L("lcl_select_impact"),
|
||
readonly: (mld_key > 0 && !canPrioChange),
|
||
onChange: "onChangeImpactOrUrgentie(1)",
|
||
trclass: "tr_priomatrix"
|
||
});
|
||
}
|
||
FCLTselector("prio",
|
||
sql,
|
||
{ initKey: (mld_key > 0 ? mld_info.mprio : 3),
|
||
label: L("lcl_mld_urg"),
|
||
mobile: true,
|
||
readonly: (mld_key > 0 && !canPrioChange),
|
||
onChange: "onChangePrioriteit()",
|
||
trclass: "tr_prio"
|
||
});
|
||
}
|
||
|
||
if (stdm_info.ins_srtdiscipline_bes > 0) { // Afleveradres
|
||
FCLTadresselector("del_address", "sgAdres",
|
||
{ adresKey: mld_info.deladdress_key,
|
||
label: L("lcl_delivery_address"),
|
||
emptyOption: "",
|
||
filtercode: "A",
|
||
autlevel: (this_mld.authparams(autfunction)? this_mld.authparams(autfunction).ALGreadlevel : 9),
|
||
readonly: (mld_info.deladdress_key > 0 && mld_key > 0 && !this_mld.canAflChange),
|
||
required: stdm_info.afleveradres_verplicht
|
||
});
|
||
}
|
||
|
||
if (mld_key > -1)
|
||
{
|
||
if (this_mld.canAfhandChange || (!mld_info.parent_key && !start_key))
|
||
{
|
||
ROFIELD("fld", L("lcl_mld_inf_Opmerking"), mld_info.remark, {suppressEmpty: true, multi: true});
|
||
}
|
||
else
|
||
{
|
||
if (mld_info.parent_key) // gekoppelde melding verwijst naar de parent voor afhandeling
|
||
{
|
||
var sprefix = mld.mld_prefix(mld_info.parent_key);
|
||
var params = { moreinfo: rooturl+"/appl/pda/melding.asp?mld_key=" + mld_info.parent_key, disabled: true};
|
||
ROFIELD("fld", L("lcl_mld_completion_in"), sprefix + mld_info.parent_key, params);
|
||
}
|
||
else if (start_key)
|
||
{
|
||
ROFIELD("fld", L("lcl_mld_inf_Opmerking"), mld_info.remark, { moreinfo: rooturl + "/appl/pda/melding.asp?mld_key=" + start_key });
|
||
}
|
||
}
|
||
if(mld_info.kto_type && mld_info.kto_key > 0)
|
||
{
|
||
switch(mld_info.kto_type)
|
||
{
|
||
case "R":
|
||
//reservering
|
||
ROFIELD("fld", L("lcl_mld_kto"), mld_info.kto_key, { moreinfo: rooturl + "/appl/pda/reservering.asp?rsv_ruimte_key=" + mld_info.kto_key });
|
||
break;
|
||
case "M":
|
||
//melding
|
||
ROFIELD("fld", L("lcl_mld_kto"), mld_info.kto_key, { moreinfo: rooturl + "/appl/pda/melding.asp?mld_key=" + mld_info.kto_key });
|
||
break;
|
||
case "B":
|
||
//bestelling
|
||
ROFIELD("fld", L("lcl_mld_kto"), mld_info.kto_key, { moreinfo: rooturl + "/appl/pda/bestelling.asp?bes_key=" + mld_info.kto_key });
|
||
break;
|
||
}
|
||
}
|
||
if(start_key > 0 && start_key != mld_key)
|
||
{
|
||
ROFIELD("fld", L("lcl_mld_continue_of"), start_key, { moreinfo: rooturl + "/appl/pda/melding.asp?mld_key=" + start_key });
|
||
}
|
||
}
|
||
|
||
FCLTcalendar("startdate",
|
||
{ label : L("lcl_mld_startdate"),
|
||
datum : mld_info.melddatum,
|
||
minFuture : (frontend ? 0 : -1),
|
||
readonly : mld_key > 0 && !this_mld.canWriteDatums && stdm_info.startdatum, // als hij verborgen is hoeftie niet readonly
|
||
required : true,
|
||
trhidden : !stdm_info.startdatum,
|
||
volgnr : 1,
|
||
mobile : true,
|
||
nofollow : true
|
||
});
|
||
|
||
|
||
if ( !frontend || (frontend && (stdm_info.taggable&2)==2))
|
||
{
|
||
var sql_tag = "SELECT mld_melding_tag_key"
|
||
+ " , mld_melding_tag_naam || DECODE(mld_melding_tag_datum_tot,NULL,'',' ('||TO_CHAR(mld_melding_tag_datum_tot, 'DD-MM-YYYY')||')') omschrijving"
|
||
+ " , mld_melding_tag_naam"
|
||
+ " , " + lcl.xsqla('mld_melding_tag_oms', 'mld_melding_tag_key')
|
||
+ " , mld_melding_tag_datum_tot"
|
||
+ " FROM mld_melding_tag"
|
||
+ " WHERE (mld_melding_tag_datum_van IS NULL OR mld_melding_tag_datum_van <= TRUNC(SYSDATE))" // denk ik
|
||
+ " AND mld_melding_tag_verwijder IS NULL"
|
||
+ " AND ins_srtdiscipline_key = " + mld_info.srtdisc_key
|
||
+ " ORDER BY mld_melding_tag_datum_tot, mld_melding_tag_naam";
|
||
FCLTselector("tag_key",
|
||
sql_tag,
|
||
{ initKey: mld_info.tag_key
|
||
, initEmpty: true
|
||
, label: L("mld_melding_tag_naam")
|
||
, mobile: true
|
||
, titleCol: "mld_melding_tag_oms"
|
||
});
|
||
}
|
||
var einddatumHidden = stdm_info.planbaar == 2 || (stdm_info.planbaar == 0 && stdm_info.planbaarfe == 0 && frontend && mld_key < 0);
|
||
|
||
// Wordt mogelijk dynamisch vervangen
|
||
FCLTcalendar("enddate",
|
||
{ label : L("lcl_mld_enddate"),
|
||
datum : mld_info.einddatum,
|
||
minDate : (frontend ? mld_info.einddatum : null),
|
||
timeField : !frontend || (frontend && !stdm_info.planbaar), // Bij FE dus afh van Planbaar eind(datum+tijd) wel/niet in te vullen, anderen (FO & BO en zo) kunnen eind(datum+tijd) altijd invullen.
|
||
timeStep : 15, // TODO: Is nog wel erg hard. Zie ook mld_edit_melding.js
|
||
startTime : S("fac_t_startofworkday"),
|
||
endTime : S("fac_t_endofworkday"),
|
||
readonly : mld_key > 0 && !this_mld.canWriteDatums,
|
||
required : true,
|
||
trclass : "trenddate",
|
||
trhidden : einddatumHidden,
|
||
mobile : true,
|
||
volgnr : 2
|
||
});
|
||
|
||
// Flags
|
||
if ((this_mld.canBOwrite || this_mld.canFOwrite) && (S("mld_melding_flags") > 0))
|
||
{
|
||
var mldflagnr = mld_info.flag || 0;
|
||
var sqla = [];
|
||
for (var i=0; i<S("mld_melding_flags"); i++)
|
||
{
|
||
sqla.push("SELECT "+i+","+safe.quoted_sql(L("lcl_mld_flag"+i))+" FROM DUAL");
|
||
}
|
||
FCLTselector("mldflag",
|
||
sqla.join(" UNION ALL "),
|
||
{ initKey: mld_info.flag,
|
||
label: L("lcl_mld_flags"),
|
||
mobile: true
|
||
});
|
||
}
|
||
|
||
var prsautlevel = (this_mld.authparams(autfunction) && this_mld.authparams(autfunction).PRSwritelevel);
|
||
// Als ik geen PRS-schrijfrechten op de melding heb, maar ik ben wel blokbehandelaar, dan mag ik gewoon iedereen uit mijn team kiezen. Niet optimaal, maar goed genoeg voor nu
|
||
if ((!prsautlevel || prsautlevel == 9) && this_mld.canChangeKenmerkBlok) {
|
||
prsautlevel = -1;
|
||
}
|
||
|
||
generateFlexKenmerkBlock ({stdm_arr : [mld_info.stdm_key],
|
||
mld_key : mld_key,
|
||
prs_key : user_key,
|
||
reado : (mld_key > 0 && !(this_mld.canFlexChange || this_mld.canChangeKenmerkBlok)),
|
||
canDeleteAttachment: mld_info.mld_status != 6,
|
||
canFlexChange: this_mld.canFlexChange,
|
||
showConfidential : (mld_key > 1 ? this_mld.canViewConfidential : null),
|
||
nameprefix: "page_1_",
|
||
serie : mld_key > 0 ? mld_key : 0,
|
||
extraserie: true,
|
||
mobile : true,
|
||
melder_key: mld_info.melder_key,
|
||
srtdisc: S("mld_processing_group_all")? [] : [mld_info.srtdisc_key],
|
||
disc: mld_info.disc_key, // Initiele waarde primaire Vakgroep/Behandelteam.
|
||
prsautlevel: prsautlevel,
|
||
show_alg: mld_info.show_alg,
|
||
loc_key: mld_info.loc_key,
|
||
this_mld: this_mld
|
||
});
|
||
|
||
if (!closeCheckDone)
|
||
{
|
||
// TODO: moeten we dit nog wel doen?
|
||
// Zijn er nog lopende opdrachten?
|
||
var canCloseOpdr = [];
|
||
var sqlC = "SELECT o.mld_opdr_key"
|
||
+ " FROM mld_opdr o"
|
||
+ " WHERE o.mld_melding_key = " + mld_key
|
||
+ " AND o.mld_statusopdr_key NOT IN (1, 6, 7, 9)";
|
||
var oRsC = Oracle.Execute(sqlC);
|
||
while (!oRsC.eof)
|
||
{ // Voor elke opdracht controleren of deze afgemeld mogen worden
|
||
var this_opdr = mld.func_enabled_opdracht(oRsC("mld_opdr_key").Value);
|
||
if (!this_opdr.canClose)
|
||
{ // Geen autorisatie om alle opdracht af te melden-->dan geen enkele
|
||
canCloseOpdr = [];
|
||
break;
|
||
}
|
||
canCloseOpdr.push(oRsC("mld_opdr_key").Value);
|
||
oRsC.MoveNext();
|
||
}
|
||
oRsC.Close();
|
||
}
|
||
|
||
if (mld_key > -1)
|
||
{
|
||
// Controleer of dit soort meldingen een BES component heeft of gedefinieerde MLD opdrachttypes.
|
||
// Bovendien hebben deze frames pas zin als de status minstens Geaccepteerd is
|
||
// (Alleen BO mag aanmaken, kan dat gelijk na invoer doen, maar zo niet dan eerst accepteren)
|
||
var mfe = mld.func_enabled_melding(mld_key); // heb ik uberhaubt leesrechten
|
||
var fwdInfo = mld.getFwdType(mld_key, this_mld, mld_info);
|
||
var showbes = false;
|
||
var showord = false;
|
||
var ordzichtbaarfe = false;
|
||
if (mld_info.mld_status >= 4 )
|
||
{ // niet afgewezen(1), ingevoerd(2) of ingezien(3)
|
||
showbes = mld_info.show_bes; // Heeft voor een gegeven (srt)discipline een vaste waarde
|
||
// De opdrachttypes behorende bij de srtdiscipline of bij de discipline
|
||
sql = "SELECT mto.mld_typeopdr_zichtbaarfe"
|
||
+ " FROM ins_srtdiscipline sd"
|
||
+ " , mld_discipline d"
|
||
+ " , mld_typeopdr_srtdiscipline tsd"
|
||
+ " , mld_typeopdr mto"
|
||
+ " WHERE tsd.ins_srtdiscipline_key = sd.ins_srtdiscipline_key"
|
||
+ " AND tsd.ins_discipline_key IS NULL"
|
||
+ " AND sd.ins_srtdiscipline_key = d.ins_srtdiscipline_key"
|
||
+ " AND tsd.mld_typeopdr_key = mto.mld_typeopdr_key"
|
||
+ " AND d.ins_discipline_key = " + mld_info.disc_key
|
||
+ " UNION ALL"
|
||
+ " SELECT mto.mld_typeopdr_zichtbaarfe"
|
||
+ " FROM ins_srtdiscipline sd"
|
||
+ " , mld_discipline d"
|
||
+ " , mld_typeopdr_srtdiscipline tsd"
|
||
+ " , mld_typeopdr mto"
|
||
+ " WHERE tsd.ins_discipline_key = d.ins_discipline_key"
|
||
+ " AND tsd.ins_discipline_key IS NOT NULL" // overbodig, maar wel duidelijk verschil met eerste clause
|
||
+ " AND sd.ins_srtdiscipline_key = d.ins_srtdiscipline_key"
|
||
+ " AND tsd.mld_typeopdr_key = mto.mld_typeopdr_key"
|
||
+ " AND d.ins_discipline_key = " + mld_info.disc_key
|
||
+ " ORDER BY 1 DESC"; // zodat echte waarden eerder komen dan de null-waarden
|
||
ooRs = Oracle.Execute(sql);
|
||
if (!ooRs.eof)
|
||
showord = true;
|
||
while (!ooRs.eof)
|
||
{ // Alle opdrachttypes doorlopen. Wellicht zit er een opdrachttype bij die wel door de fe zichtbaar is en die mogelijk opdrachten bevat die de fe mag zien.
|
||
ordzichtbaarfe = ordzichtbaarfe || (ooRs("mld_typeopdr_zichtbaarfe").Value == 1 && mld_info.melder_key == user_key); // Het moet ook mijn eigen melding zijn
|
||
ooRs.MoveNext();
|
||
}
|
||
ooRs.Close(); // de overige records interesseren me in het geheel niet, ik weet al genoeg.
|
||
}
|
||
|
||
// Heeft men voldoende rechten om naar opdrachten te gaan?
|
||
var opdr_page = "";
|
||
var hasParent = mld_info.parent_key != null; // dan geen opdrachten of bestellingen
|
||
if (!hasParent && mfe.canReadAny) // Mocht ik geen leesrechten hebben, dan ook de opdrachten en bestellingen niet tonen.
|
||
{
|
||
var this_opdr = mld.func_enabled_mld(mld_info.aut_disc_arr, "D"); // wat mag ik zoal op een nieuwe melding
|
||
if ((this_opdr.canORDBOFread) && showord)
|
||
{
|
||
opdr_page = rooturl+"/appl/pda/orders_list.asp?mld_key="+mld_key+"&urole=" + (this_opdr.canORDBOFread? "bo" : urole);
|
||
}
|
||
}
|
||
}
|
||
|
||
CONTROLGROUP_START();
|
||
if (this_mld.canChange || mld_key == -1) {
|
||
BUTTON((mld_key>-1 ? L("lcl_submit") : L("lcl_newsubmit")), {click: "mld_submit()", icon: "fa-fclt-save", singlepress: (mld_key == -1) });
|
||
}
|
||
if (mld_key > -1) {
|
||
if (this_mld.canAccept) {
|
||
BUTTON(L("lcl_mld_accept"), {click: "mld_accept_confirm()", icon: "fa-circle-check"});
|
||
}
|
||
if (this_mld.canInstem)
|
||
BUTTON(L("lcl_instem"), {click:"mld_instem()", icon: "fa-thumbs-up"});
|
||
|
||
if (this_mld.canReject) {
|
||
BUTTON(L("lcl_mld_reject"), {click: "mld_reject_confirm()", icon: (this_mld.canInstem ? "fa-thumbs-down" : "fa-circle-xmark")});
|
||
}
|
||
if (this_mld.canClose) {
|
||
BUTTON(L("lcl_close"), {click: "mld_close()", icon: "fa-flag-checkered"});
|
||
}
|
||
if (this_mld.canReopen) {
|
||
BUTTON(L("lcl_mld_reopen"), {click: "mld_reopen()", icon: "fa-unlock"});
|
||
}
|
||
if (fwdInfo.fwdType & 1 && (this_mld.canForward || this_mld.canFixMelding)) { // bo2bo
|
||
BUTTON(fwdInfo.fwdLabel, {click: "mld_forward(1)", icon: (fwdInfo.fwdType == 1 ? "fa-arrow-right" : "fa-retweet")});
|
||
}
|
||
if (fwdInfo.fwdType & 2 && this_mld.canForwardTeam) {
|
||
BUTTON(L("lcl_mld_forward_team"), {click: "mld_forward(2)", icon: "fa-arrow-right"});
|
||
}
|
||
var tsql = "SELECT COUNT(ins_deel_key) FROM mld_melding_object WHERE mld_melding_object_verwijder IS NULL AND mld_melding_key = " + mld_key;
|
||
toRs = Oracle.Execute(tsql);
|
||
if (toRs(0).Value > 0) {
|
||
if (toRs(0).value == 1)
|
||
{
|
||
var tsql = "SELECT ins_deel_key FROM mld_melding_object WHERE mld_melding_object_verwijder IS NULL AND mld_melding_key = " + mld_key;
|
||
var toRs1 = Oracle.Execute(tsql);
|
||
BUTTON(L("lcl_mobile_objecten")+" ("+toRs(0).Value + ")", {linkid: rooturl+"/appl/pda/ins_deel.asp?ins_key=" + toRs1("ins_deel_key").Value, icon: "fa-info" });
|
||
toRs1.Close();
|
||
}
|
||
else
|
||
BUTTON(L("lcl_mobile_objecten") + " (" + toRs(0).Value + ")", {linkid: rooturl + "/appl/pda/ins_list.asp?mld_key=" + mld_key +"&plaatsfilter=0", icon: "fa-info" });
|
||
}
|
||
toRs.Close();
|
||
|
||
if (mld_key > 0 && this_mld.canContinue)
|
||
{
|
||
var vsql = "SELECT COUNT(*) FROM mld_melding where mld_melding_start_key = " + mld_key;
|
||
var voRs = Oracle.Execute(vsql);
|
||
BUTTON(L("lcl_mld_continuation_mld") + " ("+voRs(0).Value+")", {click: "mld_continue()", icon: "fa-diagram-subtask"});
|
||
voRs.Close();
|
||
}
|
||
|
||
trackinglines = mobile.hastrackingpage('melding', mld_key);
|
||
if (trackinglines>0) {
|
||
BUTTON(L("lcl_history"), {linkid: "#mld-2-"+mld_key, icon: "fa-list"});
|
||
}
|
||
if (mfe.canReadNotes) { // Heb ik rechten om notities te zien
|
||
var tsql = "SELECT COUNT(*) FROM mld_melding_note n WHERE n.mld_melding_key = " + mld_key;
|
||
var toRs = Oracle.Execute(tsql);
|
||
BUTTON(L("lcl_mld_frame_notes")+" ("+toRs(0).Value + ")", {linkid: rooturl + "/appl/pda/notitie.asp?node=melding&urole=" + urole + "&key=" + mld_key, icon: "fa-comment" });
|
||
toRs.Close();
|
||
if (!Session("app_build")) {
|
||
BUTTON(L("lcl_print"), {click: "mld_print()", icon: "fa-print"});
|
||
}
|
||
}
|
||
if (ruimte_key > -1 && user.checkAutorisation( "WEB_ALGUSE", true)) {
|
||
var rsql = "SELECT 1 from alg_ruimte WHERE alg_ruimte_nr NOT LIKE '\\_%' ESCAPE '\\' and alg_ruimte_key = " + ruimte_key
|
||
var roRs = Oracle.Execute(rsql);
|
||
if (!roRs.eof) {
|
||
BUTTON(L("lcl_room"), {linkid: rooturl + "/appl/pda/ruimte.asp?ruimte_key=" + ruimte_key, icon: "fa-info" });
|
||
}
|
||
roRs.Close();
|
||
}
|
||
if (opdr_page != "") {
|
||
var tsql = "SELECT COUNT(*) FROM mld_opdr o WHERE o.mld_melding_key = " + mld_key
|
||
+ " AND o.mld_statusopdr_key IN (4, 5, 8)"; // zelfde als die in orders_list worden getoond
|
||
var toRs = Oracle.Execute(tsql);
|
||
BUTTON(L("lcl_mobile_opdrachten") + " ("+toRs(0).Value + ")", {linkid: opdr_page, icon: "fa-share" });
|
||
toRs.Close();
|
||
}
|
||
// future extension. we kennen res_list nog niet mobiel, en gaan die ook niet alleen om deze reden nu maken.
|
||
//if (mld_info.show_res) {
|
||
// var tsql = "SELECT COUNT(*) FROM res_reservering r WHERE r.mld_melding_key = " + mld_key;
|
||
// var toRs = Oracle.Execute(tsql);
|
||
// BUTTON(L("lcl_mobile_reserveringen") + " ("+toRs(0).Value + ")", {linkid: rooturl + "/appl/pda/reserveringen.asp?mld_key=" + mld_key, icon: "fa-calendar" });
|
||
// toRs.Close();
|
||
//}
|
||
|
||
}
|
||
CONTROLGROUP_END();
|
||
IFACE.FORM_END();
|
||
%>
|
||
</form>
|
||
<%
|
||
CONTENT_END();
|
||
|
||
FOOTER();
|
||
PAGE_END()
|
||
if (mld_key > -1)
|
||
{
|
||
if (trackinglines>0) {
|
||
PAGE_START({id: "mld-2-"+mld_key})
|
||
mobile.trackingpage("melding", mld_key, (mld_info.prefix || "")+ mld_key);
|
||
PAGE_END();
|
||
}
|
||
}
|
||
}
|
||
|
||
if (action == "forward")
|
||
{
|
||
// Wat gaan we doen? (fwdType:)
|
||
// 1. Vakgroep wijzigen (= Corrigeren)
|
||
// 2. Behandelteam wijzigen (= Doorsturen)
|
||
var fwdInfo = mld.getFwdType(mld_key, this_mld, mld_info);
|
||
var fwdType = getQParamInt("fwdType", fwdInfo.fwdType);
|
||
|
||
user.anything_todo_or_abort((fwdType & fwdInfo.fwdType) && (fwdType == 1 || fwdType == 2));
|
||
|
||
PAGE_START({id: "fwd-2-"+mld_key});
|
||
HEADER({title: (fwdType == 1 ? fwdInfo.fwdLabel : L("lcl_mld_forward_team")) + " " + (mld_info.prefix || "") + mld_key, back:!qrc });
|
||
CONTENT_START();
|
||
%>
|
||
<script type="text/javascript">
|
||
|
||
function onChangeVakgroep(vakgroep_key)
|
||
{
|
||
// Melding leegmaken
|
||
sgStdm.setValue(-1, "", false, false, null, true);
|
||
sgStdm.CheckJustOne();
|
||
|
||
if (typeof sgBehandelaar != "undefined")
|
||
{
|
||
if (vakgroep_key == -1) // Effici<63>nter
|
||
sgBehandelaar.setValue(-1, "", false, false);
|
||
else
|
||
sgBehandelaar.setValue($("#sBehandel").val(), $("#sBehandel_show").val(), false /*doonChange*/, true /*checkExist*/);
|
||
}
|
||
}
|
||
|
||
function onChangeBehandelteam(behandelteam_key)
|
||
{
|
||
if (typeof sgBehandelaar2 != "undefined")
|
||
{
|
||
if (behandelteam_key == -1) // Effici<63>nter
|
||
sgBehandelaar2.setValue(-1, "", false, false);
|
||
else
|
||
sgBehandelaar2.setValue($("#sBehandel2").val(), $("#sBehandel2_show").val(), false /*doonChange*/, true /*checkExist*/);
|
||
}
|
||
}
|
||
|
||
</script>
|
||
<%
|
||
FORM_START("forwardform", { "name": "forwardform", "action": rooturl + "/appl/mld/mld_forward_save.asp?mld_key=" + mld_key + "&fwdType=" + fwdType, "method": "POST" });
|
||
if (fwdType == 1)
|
||
{
|
||
// Vakgroep
|
||
var urlAdd = [{urlParam: "disc_old", field: "disc_old", init: mld_info.disc_key }];
|
||
if (mld.useAlgScope("D"))
|
||
{
|
||
var eindlevel = (stdm_info.ins_srtdiscipline_alglevel ? stdm_info.ins_srtdiscipline_alglevel : 2);
|
||
switch (eindlevel) { // Zonder break;
|
||
case 5: urlAdd.push({urlParam: "roomkey", field: "ruimtekey", init: mld_info.room_key});
|
||
case 4: urlAdd.push({urlParam: "flrkey", field: "verdiepingkey", init: mld_info.flr_key });
|
||
case 3: urlAdd.push({urlParam: "bldkey", field: "gebouwkey", init: mld_info.bld_key });
|
||
case 2: urlAdd.push({urlParam: "lockey", field: "locatiekey", init: mld_info.loc_key });
|
||
}
|
||
}
|
||
|
||
// Vakgroep
|
||
FCLTdisciplineselector("disc",
|
||
"sgDisc",
|
||
{ label: L("lcl_vakgroup"),
|
||
disc_key: S("mld_forward_auto_fill") ? mld_info.disc_key : -1,
|
||
module: "MLDP",
|
||
perslidKey: user_key,
|
||
behandelteam_key: mld_info.mld_ins_discipline_key,
|
||
autfunctionKey: -1, // alles is toegestaan! authparams.autfunctionkey,
|
||
srtdisc_key: S("mld_forward_all") == 1? -1 : mld_info.srtdisc_key,
|
||
urlAdd: urlAdd,
|
||
filtercode: this_mld.canForwardKeten? "VDK" : "VD",
|
||
onChange: "onChangeVakgroep",
|
||
required: true
|
||
});
|
||
|
||
urlAdd.push({urlParam: "disc_key", field: "disc"});
|
||
|
||
// Standaardmelding
|
||
FCLTstdmeldingselector("stdm",
|
||
"sgStdm",
|
||
{ label: L("lcl_complain"),
|
||
perslidKey: user_key,
|
||
behandelteam_key: mld_info.mld_ins_discipline_key,
|
||
stdmelding_key: S("mld_forward_auto_fill") ? stdm_key : -1,
|
||
autfunctionKey: -1, // alles is toegestaan! authparams.autfunctionkey,
|
||
srtdisc_key: (S("mld_forward_all") == 1? -1 : mld_info.srtdisc_key),
|
||
urlAdd: urlAdd,
|
||
filtercode: this_mld.canForwardKeten? "VDK" : "",
|
||
required: true
|
||
});
|
||
}
|
||
else if (fwdType == 2)
|
||
{
|
||
// Behandelteam
|
||
var urlAdd = [{urlParam: "disc", field: "disc" }];
|
||
%>
|
||
<input type="hidden" id="disc" name="disc" value="<%=mld_info.disc_key%>">
|
||
<%
|
||
FCLTdisciplineselector("mld_ins_discipline",
|
||
"sgDisc",
|
||
{ label: L("mld_processing_group"),
|
||
disc_key: (S("mld_forward_auto_fill") ? mld_info.mld_ins_discipline_key : -1),
|
||
module: "MLDB",
|
||
urlAdd: urlAdd,
|
||
perslidKey: user_key,
|
||
autfunctionKey: -1, // alles is toegestaan! authparams.autfunctionkey,
|
||
srtdisc_key: (S("mld_processing_group_all") == 1 ? -1 : mld_info.srtdisc_key),
|
||
onChange: "onChangeBehandelteam"
|
||
});
|
||
}
|
||
|
||
// Behandelaar
|
||
if (S("mld_forward_can_assign"))
|
||
{
|
||
%>
|
||
<input type="hidden" id="person" name="person" value="<%=mld_info.melder_key%>">
|
||
<%
|
||
var urlAdd = [{urlParam: "prs_key", field: "person", init: mld_info.melder_key}];
|
||
|
||
if (mld_info.show_alg)
|
||
{
|
||
urlAdd.push({urlParam: "loc_key", field: "loc_key", init: mld_info.loc_key});
|
||
%>
|
||
<input type="hidden" id="loc_key" name="loc_key" value="<%=mld_info.loc_key%>">
|
||
<%
|
||
}
|
||
|
||
if (fwdType == 1)
|
||
{
|
||
urlAdd.push({urlParam: "disc_key", field: "disc", init: (S("mld_forward_auto_fill") ? mld_info.disc_key : -1)});
|
||
|
||
if (mld_info.primaire_behandelaar != 0)
|
||
{
|
||
FCLTpersoonselector("sBehandel",
|
||
"sgBehandelaar",
|
||
{ perslidKey: (S("mld_forward_auto_fill") ? mld_info.behandel_key : -1),
|
||
label: L("lcl_mld_behandelaar"),
|
||
autlevel: this_mld.authparams(autfunction) && this_mld.authparams(autfunction).PRSwritelevel,
|
||
urlAdd: urlAdd,
|
||
readonly: !this_mld.canAfhandChange,
|
||
required: (mld_info.primaire_behandelaar == 2),
|
||
filtercode: (mld_info.mld_status == 0 ? "BEHF" : "BEHB")
|
||
});
|
||
}
|
||
}
|
||
else if (fwdType == 2)
|
||
{
|
||
urlAdd.push({urlParam: "disc_key", field: "mld_ins_discipline", init: (S("mld_forward_auto_fill") ? mld_info.mld_ins_discipline_key : -1)});
|
||
|
||
FCLTpersoonselector("sBehandel2",
|
||
"sgBehandelaar",
|
||
{ idadd: 2,
|
||
perslidKey: (S("mld_forward_auto_fill") ? mld_info.behandel2_key : -1),
|
||
label: L("lcl_mld_processor"),
|
||
autlevel: this_mld.authparams(autfunction) && this_mld.authparams(autfunction).PRSwritelevel,
|
||
urlAdd: urlAdd,
|
||
readonly: !this_mld.canAfhandChange,
|
||
filtercode: (mld_info.mld_status == 0 ? "BH2F" : "BH2B")
|
||
});
|
||
}
|
||
}
|
||
|
||
if (!stdm_info.hide_kostenplaats && !stdm_info.is_kto_antwoord)
|
||
{
|
||
var urlAdd_account = [{ urlParam: "prs_key", field: "person" }];
|
||
if (frontend && !mld_info.mld_kk)
|
||
{ // Indien frontend en kostenklant vinkje is uit, dan moet alleen de kostenplaats van het geselecteerde gebouw gekozen kunnen worden.
|
||
// LET OP!: Persoon hoeft niet gemandateerd te zijn voor deze kostenplaats.
|
||
// De kostenplaats van het geselecteerde gebouw wordt meegegeven aan de FCLTkostenplaatsselector
|
||
// zodat alleen deze kostenplaats als resultaat opgeleverd gaat worden.
|
||
urlAdd_account.push({ urlParam: "kp_key", field: "account_bld" });
|
||
%>
|
||
<input type="hidden" id="account_bld" name="account_bld" value="<%=mld_info.mld_kostenpl_key%>">
|
||
<%
|
||
}
|
||
FCLTkostenplaatsselector("account",
|
||
"sgAccount",
|
||
mld_info.melder_key,
|
||
{ kostenplaatsKey: mld_info.kostenpl_key || -1,
|
||
label: (urole == "fe")?L("lcl_mld_inf_Kostenplaats"):L("lcl_mld_inf_Kostenklant"),
|
||
showCustomLabel: true,
|
||
extraParamField: "kmodule",
|
||
extracode: "M",
|
||
filtercode: "AA", // Alleen actieve kostenplaatsen kunnen selecteren "All Active". Huidige waarde als initi<74>le waarde kan bij kostenplaatsen altijd.
|
||
urlAdd: urlAdd_account,
|
||
readonly: (mld_key > 0 && !this_mld.canKostChange),
|
||
required: (!(mld_key > 0 && !this_mld.canKostChange)? mld_info.kpnverplicht : false)
|
||
});
|
||
|
||
if (S("show_ordernr") != 0)
|
||
{
|
||
RWFIELD("ordernr", L("lcl_mld_inf_Ordernr"), mld_info.mld_ordernr, {readonly: (mld_key > 0 && !this_mld.canKostChange), html: 'maxlength="30"'});
|
||
}
|
||
}
|
||
|
||
__Log({"TEST": {"fe":frontend, "tag": stdm_info.taggable}})
|
||
if ( !frontend || (frontend && (stdm_info.taggable&2)==2))
|
||
{
|
||
var sql_tag = "SELECT mld_melding_tag_key"
|
||
+ " , mld_melding_tag_naam || DECODE(mld_melding_tag_datum_tot,NULL,'',' ('||TO_CHAR(mld_melding_tag_datum_tot, 'DD-MM-YYYY')||')') omschrijving"
|
||
+ " , mld_melding_tag_naam"
|
||
+ " , " + lcl.xsqla('mld_melding_tag_oms', 'mld_melding_tag_key')
|
||
+ " , mld_melding_tag_datum_tot"
|
||
+ " FROM mld_melding_tag"
|
||
+ " WHERE (mld_melding_tag_datum_van IS NULL OR mld_melding_tag_datum_van <= TRUNC(SYSDATE))" // denk ik
|
||
+ " AND mld_melding_tag_verwijder IS NULL"
|
||
+ " AND ins_srtdiscipline_key = " + mld_info.srtdisc_key
|
||
+ " ORDER BY mld_melding_tag_datum_tot, mld_melding_tag_naam";
|
||
FCLTselector("tag_key",
|
||
sql_tag,
|
||
{ initKey: mld_info.tag_key
|
||
, initEmpty: true
|
||
, label: L("mld_melding_tag_naam")
|
||
, mobile: true
|
||
, titleCol: "mld_melding_tag_oms"
|
||
});
|
||
}
|
||
|
||
ROFIELD("fld", "", mld_info.remark); // De opmerking/afhandeling die er al stond...
|
||
RWFIELD("opmerk_forward", L("lcl_mld_note_new"), "", {name: "opmerk", multi: true, pclass: ((S("mld_forward_opm_flags") & 1) == 1? " required" : "")});
|
||
|
||
var note_zichtbaarFE = (mld_info.fenotes == 1 || mld_info.fenotes == 3);
|
||
// Geef keuze voor wel of niet zichtbaar voor FE
|
||
CHB_FIELD("zichtbaarFE", "<nobr>" + L("lcl_mld_zichtbaar_FE") + "</nobr>", note_zichtbaarFE);
|
||
// We houden het simpel: geen notificatie dmv 'actie bij melder zetten'.
|
||
|
||
CONTROLGROUP_START();
|
||
BUTTON((fwdType == 1 ? fwdInfo.fwdLabel : L("lcl_mld_forward_team")), {click: "mld_forward_submit()", icon: "fa-fclt-save"} );
|
||
BUTTON(L("lcl_cancel"), {click: "mld_forward_cancel()", icon: "fa-fclt-cancel"} );
|
||
CONTROLGROUP_END();
|
||
IFACE.FORM_END();
|
||
%>
|
||
</form>
|
||
<%
|
||
CONTENT_END();
|
||
FOOTER();
|
||
PAGE_END();
|
||
}
|
||
|
||
if (mld_key > -1)
|
||
{
|
||
// Info pagina met plaatsgegevens, vanuit klikken op plaats.
|
||
//
|
||
PAGE_START({id: "info-4-"+mld_key, dialog: true});
|
||
HEADER({title: L("ins_srtdiscipline_alg") , back:!qrc });
|
||
CONTENT_START();
|
||
|
||
var sql = "SELECT COALESCE(g.alg_gebouw_adres, l.alg_locatie_adres) adres"
|
||
+ " , l.alg_locatie_plaats"
|
||
+ " , l.alg_locatie_code"
|
||
+ " , COALESCE(g.alg_gebouw_postcode, l.alg_locatie_postcode) postcode"
|
||
+ " , l.alg_locatie_omschrijving"
|
||
+ " , l.alg_locatie_verantw"
|
||
+ " , l.alg_locatie_verantw_tel"
|
||
+ " , o.alg_gebouw_naam"
|
||
+ " , o.alg_verdieping_omschrijving"
|
||
+ " , o.alg_ruimte_nr"
|
||
+ " , o.alg_ruimte_omschrijving"
|
||
+ " , o.alg_verdieping_key"
|
||
+ " , ct.cad_tekening_key"
|
||
+ " , o.alg_ruimte_key"
|
||
+ " , msd.cad_thema_key"
|
||
+ " , m.mld_melding_dwgx"
|
||
+ " , m.mld_melding_dwgy"
|
||
+ " FROM alg_v_onroerendgoed_gegevens o"
|
||
+ " , alg_locatie l"
|
||
+ " , alg_gebouw g"
|
||
+ " , mld_melding m"
|
||
+ " , mld_stdmelding msd"
|
||
+ " , (SELECT cad_tekening_key"
|
||
+ " , alg_verdieping_key"
|
||
+ " FROM cad_tekening"
|
||
+ " WHERE cad_tekening_verwijder IS NULL"
|
||
+ " AND cad_tekening_type = 'P') ct"
|
||
+ " WHERE m.mld_alg_locatie_key = l.alg_locatie_key"
|
||
+ " AND o.alg_onroerendgoed_keys(+) = m.mld_alg_onroerendgoed_keys"
|
||
+ " AND o.alg_gebouw_key = g.alg_gebouw_key(+)"
|
||
+ " AND o.alg_verdieping_key = ct.alg_verdieping_key(+)"
|
||
+ " AND m.mld_stdmelding_key = msd.mld_stdmelding_key"
|
||
+ " AND m.mld_melding_key = " + mld_key;
|
||
var oRs = Oracle.Execute(sql);
|
||
if (!oRs.eof)
|
||
{
|
||
var info_params = { suppressEmpty: true };
|
||
ROFIELD("fld", L("lcl_alg_loc_adres"), oRs("adres").Value, info_params);
|
||
ROFIELD("fld", L("lcl_alg_loc_plaats"), oRs("postcode").Value+" "+oRs("alg_locatie_plaats").Value, info_params);
|
||
ROFIELD("fld", L("lcl_estate_locatie_man_code"), oRs("alg_locatie_code").Value, info_params);
|
||
ROFIELD("fld", L("lcl_estate_locatie_title"), oRs("alg_locatie_omschrijving").Value, info_params);
|
||
ROFIELD("fld", L("lcl_estate_gebouw_man_name"), oRs("alg_gebouw_naam").Value, info_params);
|
||
ROFIELD("fld", L("lcl_estate_verdieping_man_descr"), oRs("alg_verdieping_omschrijving").Value, info_params);
|
||
if (oRs("cad_tekening_key").Value)
|
||
{
|
||
var ruimte_params = { suppressEmpty: true, moreinfo: rooturl
|
||
+ "/appl/pda/plattegrond.asp?verdieping_key=" + oRs("alg_verdieping_key").Value
|
||
+ "&ruimte_key=" + oRs("alg_ruimte_key").Value
|
||
+ "&mld_key_dwgxy=" + mld_key
|
||
+ "&readonly=1"
|
||
+ (oRs("mld_melding_dwgx").Value != null && oRs("mld_melding_dwgy").Value != null
|
||
? "&caddwgx=" + oRs("mld_melding_dwgx").Value + "&caddwgy=" + oRs("mld_melding_dwgy").Value
|
||
: "")
|
||
+ (oRs("cad_thema_key").Value > 0
|
||
? "&thema_key=" + oRs("cad_thema_key").Value
|
||
: "¬hema=1") };
|
||
}
|
||
else
|
||
{
|
||
var ruimte_params = info_params;
|
||
}
|
||
ROFIELD("fld", L("lcl_estate_ruimte_man_nr"), oRs("alg_ruimte_nr").Value, ruimte_params);
|
||
ROFIELD("fld", L("lcl_estate_ruimte_man_sort"), oRs("alg_ruimte_omschrijving").Value, info_params);
|
||
ROFIELD("fld", L("lcl_estate_locatie_man_verantw"), oRs("alg_locatie_verantw").Value, info_params);
|
||
ROFIELD("fld", L("lcl_estate_locatie_man_verantw_tel"), oRs("alg_locatie_verantw_tel").Value, { suppressEmpty: true, type: "tel", phone_number: oRs("alg_locatie_verantw_tel").Value });
|
||
}
|
||
oRs.Close();
|
||
|
||
CONTENT_END();
|
||
PAGE_END();
|
||
//
|
||
// *****************************************************
|
||
}
|
||
|
||
if (mld_key > -1 && this_mld.canClose && action != "forward")
|
||
{
|
||
// scherm: Afmelden melding
|
||
PAGE_START({id: "close-3-" + mld_key, dialog: true});
|
||
HEADER({title: L("lcl_close") + " " + subject, back: false});
|
||
CONTENT_START();
|
||
FORM_START("closeform", { "name": "closeform", "action": rooturl + "/appl/mld/mld_close_save.asp?mld_key=" + mld_key, "method": "POST" });
|
||
var url_get_mld_info_ajax = "../mld/get_mld_info_ajax.asp?req_info=promptAI&mld_key=" + mld_key;
|
||
%>
|
||
<script>
|
||
function getAI() {
|
||
var protected_mld_info_ajax = "<%=safe.jsstring(protectQS.create(url_get_mld_info_ajax))%>";
|
||
var data = {
|
||
// mld_key: mld_key, // deze zit al in protected_mld_info_ajax
|
||
for: "afmelden"
|
||
};
|
||
protectRequest.dataToken(data);
|
||
var request = $.ajax(protected_mld_info_ajax, {
|
||
method: "POST",
|
||
noSpinner: true,
|
||
data: data
|
||
});
|
||
request.then(json => {
|
||
if (json.success) {
|
||
$("#stdopmerk option:disabled")
|
||
.removeAttr("disabled")
|
||
.attr("afmeldtekst", json.content)
|
||
.val(-2);
|
||
}
|
||
});
|
||
return request;
|
||
}
|
||
</script>
|
||
<%
|
||
var prefix = "";
|
||
var oldRemark = "";
|
||
var melder_key = -1;
|
||
var req = false;
|
||
var stdmld_arr = [];
|
||
var disc_arr = [];
|
||
var canNoti = false;
|
||
|
||
sql = "SELECT ''"
|
||
+ " FROM fac_srtnotificatie"
|
||
+ " WHERE fac_srtnotificatie_code = 'MLDAFM' AND fac_srtnotificatie_mode > 0";
|
||
var oRs = Oracle.Execute(sql);
|
||
var canSrtNoti = !oRs.eof;
|
||
oRs.Close();
|
||
|
||
sql = "SELECT DISTINCT std.mld_stdmelding_afmeldtext"
|
||
+ " , mm.mld_melding_opmerking"
|
||
+ " , sd.ins_srtdiscipline_prefix"
|
||
+ " , std.mld_stdmelding_key"
|
||
+ " , std.mld_stdmelding_notify"
|
||
+ " , md.ins_discipline_key"
|
||
+ " , mdp.mld_disc_params_notify"
|
||
+ " , mm.prs_perslid_key"
|
||
+ " FROM mld_melding mm"
|
||
+ " , mld_stdmelding std"
|
||
+ " , mld_discipline md"
|
||
+ " , mld_disc_params mdp"
|
||
+ " , ins_srtdiscipline sd"
|
||
+ " WHERE mld_melding_key IN (" + mld_key + ")"
|
||
+ " AND mm.mld_stdmelding_key = std.mld_stdmelding_key"
|
||
+ " AND std.mld_ins_discipline_key = md.ins_discipline_key"
|
||
+ " AND md.ins_discipline_key = mdp.mld_ins_discipline_key"
|
||
+ " AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key";
|
||
oRs = Oracle.Execute(sql);
|
||
while (!oRs.eof)
|
||
{
|
||
prefix = oRs("ins_srtdiscipline_prefix").Value || "";
|
||
oldRemark = oRs("mld_melding_opmerking").Value;
|
||
req = req || ((S("mld_afhandeling_required_for_close") || oRs("mld_stdmelding_afmeldtext").value == 2) && (oldRemark == null));
|
||
stdmld_arr[stdmld_arr.length] = oRs("mld_stdmelding_key").Value;
|
||
disc_arr[disc_arr.length] = oRs("ins_discipline_key").Value;
|
||
melder_key = oRs("prs_perslid_key").Value;
|
||
if (canSrtNoti && !canNoti)
|
||
{
|
||
canNoti = oRs("mld_disc_params_notify").Value == 1 ||
|
||
(oRs("mld_disc_params_notify").Value == 2 && oRs("mld_stdmelding_notify").Value == 1);
|
||
}
|
||
oRs.MoveNext();
|
||
}
|
||
oRs.Close();
|
||
|
||
var txt = "";
|
||
if (lastopdr)
|
||
txt = L("lcl_mld_close_order_close_call") + "<br>";
|
||
|
||
// Mag ik kennisbank raadplegen en standaard-antwoorden knippen/plakken
|
||
var authFaq = (S("faq_enabled") == 1) && user.checkAutorisation("WEB_FAQFOF", true);
|
||
var buttons = [];
|
||
if (authFaq && authFaq.PRSwritelevel < 9) // schrijfrechten op WEB_FAQFOF nodig
|
||
{
|
||
var goegel = "FcltMgr.openDetail('/appl/fac/fac_faq_search.asp?urole=bo&autosearch=1'"
|
||
+ "+'&stdm_str='+'" + stdmld_arr.join(",") + "'"
|
||
+ "+'&disc_key_str='+'" + disc_arr.join(",") + "'"
|
||
+ ", '" + L("lcl_faq_kennisbank") + "') ";
|
||
buttons.push({ icon: "fa-book", title: L("lcl_mld_paste"), action: "PasteFromClipboard()"});
|
||
buttons.push({ icon: "fa-lightbulb", title: L("lcl_fac_filterblok"), action: goegel});
|
||
}
|
||
|
||
var generate_ai = ingesloten.length == 1 && (S("ai_enabled") & 4);
|
||
if (generate_ai) {
|
||
sql = "SELECT COUNT(*) aantal_notities"
|
||
+ " FROM mld_melding_note mn"
|
||
+ " , prs_v_perslid_fullnames_all p"
|
||
+ " WHERE mn.prs_perslid_key = p.prs_perslid_key" // Geen outer-join want we willen hier geen tracking
|
||
+ " AND mld_melding_key = " + ingesloten[0];
|
||
oRs = Oracle.Execute(sql);
|
||
generate_ai = oRs("aantal_notities").Value > 0;
|
||
oRs.Close();
|
||
}
|
||
|
||
var sql_from_t = " FROM mld_afmeldtekst"
|
||
+ " WHERE ((mld_stdmelding_key IN (" + stdmld_arr.join(",") + ") )"
|
||
+ " OR (mld_stdmelding_key IS NULL AND mld_ins_discipline_key IN (" + disc_arr.join(",") + ") )"
|
||
+ " OR (mld_stdmelding_key IS NULL AND mld_ins_discipline_key IS NULL))"
|
||
+ " AND BITAND(mld_afmeldtekst_usefor, 1) = 1";
|
||
|
||
var sql_from_o = " FROM mld_opdr mo"
|
||
+ " WHERE mo.mld_melding_key = " + ingesloten[0]
|
||
+ " AND mo.mld_statusopdr_key in (6, 7, 9)" // status=afgemeld, verwerkt en afgerond
|
||
+ " AND mo.mld_opdr_opmerking IS NOT NULL";
|
||
|
||
var sql = "SELECT SUM(aantal) aantal"
|
||
+ " FROM ( SELECT COUNT(*) aantal" + sql_from_t
|
||
+ (ingesloten.length == 1
|
||
? " UNION SELECT COUNT(*)" + sql_from_o
|
||
: ""
|
||
)
|
||
+ ")";
|
||
oRs = Oracle.Execute(sql);
|
||
var aantal_teksten = oRs("aantal").Value + (generate_ai ? 1 : 0);
|
||
oRs.Close();
|
||
|
||
%>
|
||
<script>
|
||
var canGenerateAi = <%=generate_ai ? 1 : 0%>
|
||
$(() => {
|
||
<% if (generate_ai) { %>
|
||
if ($.mobile.activePage.is($("#close-3-<%=mld_key%>"))) {
|
||
loadingAI = getAI(); // Hier kom je na een F5 van de afmeld-pagina, dan wil je opnieuw getAI() uitvoeren
|
||
}
|
||
<% } else if (S("mld_sel_single_closingtext") == 2 && aantal_teksten == 1) { %>
|
||
PasteFromSelectbox();
|
||
<% } %>
|
||
});
|
||
</script>
|
||
<%
|
||
|
||
if (aantal_teksten > 0)
|
||
{
|
||
sql = "SELECT TO_CHAR(mld_afmeldtekst_key) key"
|
||
+ " , " + lcl.xsql('mld_afmeldtekst_naam', 'mld_afmeldtekst_key') + " textname"
|
||
+ " , " + lcl.xsql('mld_afmeldtekst_omschrijving', 'mld_afmeldtekst_key') + " afmeldtekst"
|
||
+ " , 2 src"
|
||
+ sql_from_t;
|
||
if (ingesloten.length == 1)
|
||
{
|
||
sql += " UNION "
|
||
+ "SELECT TO_CHAR(mo.mld_opdr_key)"
|
||
+ " ," + safe.quoted_sql(L("lcl_opdr_closeremark") + " /") +"|| mo.mld_opdr_bedrijfopdr_volgnr"
|
||
+ " , mo.mld_opdr_opmerking"
|
||
+ " , 1"
|
||
+ sql_from_o
|
||
if (generate_ai) {
|
||
sql += " UNION "
|
||
+ "SELECT '##DISABLED##'"
|
||
+ " , " + safe.qL("lcl_mld_ai_generated")
|
||
+ " , " + safe.quoted_sql(I("fa-spinner-third fa-spin fa-lg")) // Wordt onload gevuld
|
||
+ " , 3"
|
||
+ " FROM DUAL";
|
||
}
|
||
}
|
||
sql += " ORDER BY 4,2";
|
||
|
||
FCLTselector("stdopmerk",
|
||
sql,
|
||
{ label: L("lcl_mld_inf_std_opm"),
|
||
initKey: -1,
|
||
emptyOption: (S("mld_sel_single_closingtext")==2 && aantal_teksten==1 && !generate_ai ? null : ""),
|
||
extraParamValue: "afmeldtekst",
|
||
onChange: "PasteFromSelectbox()"});
|
||
}
|
||
|
||
// tekstveld waarin informatie over de afhandeling vermeld kan worden
|
||
if (ingesloten.length == 1 && oldRemark)
|
||
{
|
||
%><div><%=safe.html(oldRemark)%></div><%
|
||
}
|
||
|
||
RWFIELD("opmerk_close", L("lcl_mld_finish_close") + " " + (mld_info.prefix || "") + mld_key, "", {name: "opmerk", multi: true, disabled: false, pclass: "fldtxt" + (req?" required":"")});
|
||
|
||
if (canNoti)
|
||
{
|
||
var sql = "SELECT CASE"
|
||
+ " WHEN prs_perslid_systeemadres IS NOT NULL"
|
||
+ " THEN 1"
|
||
+ " ELSE 0"
|
||
+ " END hassysteemadres"
|
||
+ " FROM prs_perslid"
|
||
+ " WHERE prs_perslid_key = " + melder_key;
|
||
oRs = Oracle.Execute(sql);
|
||
var hassysteemadres = oRs("hassysteemadres").Value;
|
||
oRs.Close();
|
||
if (hassysteemadres)
|
||
{ // bij systeemadres altijd notificeren; geen checkbox tonen.
|
||
%> <input type="hidden" id="noti_caller" name="noti_caller" value="1">
|
||
<%
|
||
}
|
||
else
|
||
{ // Geen systeemadres dus mag kiezen. Zet wel een default.
|
||
CHB_FIELD("noti_caller", L("lcl_mld_noti_caller"), (S("mld_close_noti_default_off") == 1 ? 0 : 1) );
|
||
}
|
||
}
|
||
|
||
if (canCloseOpdr.length)
|
||
{ %>
|
||
<tr>
|
||
<td colspan="2">
|
||
<% CHB_FIELD("opdr_close", canCloseOpdr.length + L("lcl_mld_ord_close_all"), S("mld_close_opdr_default")); %>
|
||
</td>
|
||
</tr>
|
||
<% }
|
||
if (canCloseCtr > 0)
|
||
{ %>
|
||
<tr>
|
||
<td colspan="2">
|
||
<% CHB_FIELD("ctr_close", canCloseCtr > 1? canCloseCtr + L("lcl_mld_ctr_close_all_n") : L("lcl_mld_ctr_close_all_1"), 0, { html: "onChange='ctrcloseToggler(this)'" }); %>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2">
|
||
<div id="inscontrolemode" style="display: none">
|
||
<table>
|
||
<% for (var i = 0; i < controleModeArray.length; i++)
|
||
{ // Maximaal 3 types.
|
||
var sctype;
|
||
switch (controleModeArray[i])
|
||
{
|
||
case 1: sctype = L("lcl_ins_srtcontrole_insp"); break;
|
||
case 2: sctype = L("lcl_ins_srtcontrole_repl"); break;
|
||
case 3: sctype = L("lcl_ins_srtcontrole_cert"); break;
|
||
}
|
||
|
||
sql = "SELECT ins_controlemode_key"
|
||
+ " , " + lcl.xsqla('ins_controlemode_oms', 'ins_controlemode_key')
|
||
+ " FROM ins_controlemode"
|
||
+ " WHERE ins_srtcontrole_type = " + controleModeArray[i]
|
||
+ " AND ins_controlemode_success = 1"
|
||
+ " ORDER BY 2";
|
||
|
||
// Methode is voor de status Afgemeld(5) en Historie/Verwerkt(6) altijd ingevuld.
|
||
// Required wordt gezet als de selectbox zichtbaar wordt.
|
||
FCLTselector("sel_controlemode" + controleModeArray[i],
|
||
sql,
|
||
{ label: L("lcl_ins_controle_mode") + " " + sctype,
|
||
initKey: -1,
|
||
emptyOption: L("lcl_select_controlemode"),
|
||
selectjustone: true
|
||
});
|
||
}
|
||
%> </table>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<% }
|
||
|
||
var prsautlevel = (this_mld.authparams(autfunction) && this_mld.authparams(autfunction).PRSwritelevel);
|
||
// Als ik geen PRS-schrijfrechten op de melding heb, maar ik ben wel blokbehandelaar, dan mag ik gewoon iedereen uit mijn team kiezen. Niet optimaal, maar goed genoeg voor nu
|
||
if ((!prsautlevel || prsautlevel == 9) && this_mld.canChangeKenmerkBlok) {
|
||
prsautlevel = -1;
|
||
}
|
||
|
||
// De verplichte afmeld (close) kenmerken tonen bij het afmelden. Vooralsnog worden de andere verplichte kenmerken niet getoond.
|
||
generateFlexKenmerkBlock({stdm_arr : [stdm_key],
|
||
mld_key : mld_key,
|
||
close : true,
|
||
mobile : true,
|
||
prs_key: user_key,
|
||
act_key: mld_info.act_key,
|
||
reado: (mld_key > 0 && !(this_mld.canFlexChange || this_mld.canChangeKenmerkBlok)), // Bij alleen canChangeKenmerkBlok rechten dan ook check in isReadonly.
|
||
canFlexChange: this_mld.canFlexChange,
|
||
showConfidential : this_mld.canViewConfidential,
|
||
melder_key: mld_info.melder_key,
|
||
srtdisc: S("mld_processing_group_all")? [] : [mld_info.srtdisc_key],
|
||
disc: mld_info.disc_key, // Initiele waarde primaire Vakgroep/Behandelteam.
|
||
prsautlevel: prsautlevel,
|
||
show_alg: mld_info.show_alg,
|
||
loc_key: mld_info.loc_key,
|
||
this_mld: this_mld
|
||
});
|
||
|
||
CONTROLGROUP_START();
|
||
if (opdr_opm != "")
|
||
BUTTON(L("lcl_mld_opm_paste"), {id: "opmpaste", click: "mld_opmpaste();", icon: "fa-clipboard"});
|
||
BUTTON(L("lcl_close"), {click: "mld_close_submit();", icon: "fa-flag-checkered"});
|
||
BUTTON(L("lcl_cancel"), {click: "mobile.changePage();", icon: "fa-fclt-cancel"} );
|
||
CONTROLGROUP_END();
|
||
IFACE.FORM_END();
|
||
%>
|
||
</form>
|
||
<%
|
||
CONTENT_END();
|
||
PAGE_END();
|
||
}
|
||
|
||
if (mld_key > -1 && this_mld.canAccept && action != "forward")
|
||
{
|
||
var autfunction = "";
|
||
if (fronto)
|
||
autfunction = "WEB_MLDFOF";
|
||
else if (backo)
|
||
autfunction = "WEB_MLDBOF";
|
||
else
|
||
autfunction = "WEB_MLDUSE";
|
||
|
||
var transitParam = buildTransitParam(["mld_key", "multi", "maybeDouble", "urole", "opmerk"]);
|
||
|
||
// Geen autfunction bepaald. Je komt bij FIN niet binnen met een bepaalde rol (urole).
|
||
// Alleen PRSreadlevel en PRSwritelevel van belang want fac_functie_min_level = 7 (lezen en schrijven organisatie)
|
||
var authparamsMLDBOF = user.checkAutorisation("WEB_MLDBOF", true);
|
||
var authparamsMLDBO3 = user.checkAutorisation("WEB_MLDBO3", true);
|
||
var authparamsMLDFOF = user.checkAutorisation("WEB_MLDFOF", true);
|
||
|
||
var hasBehandelteam = 0;
|
||
var ingesloten = [];
|
||
|
||
var this_mld = mld.func_enabled_melding(mld_key); // Wat heb ik zoal aan rechten op deze specifieke melding
|
||
var mld_info = mld.mld_melding_info(mld_key);
|
||
var this_stdm = mld.mld_stdmeldinginfo(mld_info.stdm_key);
|
||
|
||
var maybeDouble = (!mld_info.parent_key && (this_stdm.doublecheck == 2 || this_stdm.doublecheck == 3));
|
||
// Geen child melding en bulk actie mag de maybeDouble meldingen niet op geaccepteerd zetten
|
||
if (this_mld.canAccept && !mld_info.parent_key && !(multi && maybeDouble))
|
||
{
|
||
ingesloten.push(mld_key);
|
||
hasBehandelteam += (this_stdm.srtgroep & 4 ? 1 : 0);
|
||
}
|
||
|
||
user.anything_todo_or_abort(ingesloten.length > 0); // We klagen niet over enkele wel en enkele niet
|
||
lcl.set_dialect(mld_info.srtdisc_key, "MLD_SRTDISCIPLINE_KEY");
|
||
// scherm: Accepteren melding
|
||
PAGE_START({id: "accp-4-" + mld_key, dialog: true})
|
||
HEADER({title: L("lcl_accept") + " " + subject, back: false});
|
||
CONTENT_START();
|
||
|
||
%>
|
||
<script type="text/javascript">
|
||
|
||
$(function()
|
||
{
|
||
$("#opmerk_accept").focus();
|
||
});
|
||
|
||
async function mld_accept_submit()
|
||
{
|
||
if (!await validateForm("u2"))
|
||
return false;
|
||
|
||
$.post($("form[name=acceptform]")[0].action, $("[name=acceptform]").serialize() + "<%=transitParam%>",
|
||
McltCallbackAndThenAlways(function() {
|
||
window.location.href = "<%=rooturl%>/appl/pda/melding.asp?melding=1&mld_key=" + "<%=mld_key%>";
|
||
}), "json");
|
||
return true; // disable button
|
||
}
|
||
|
||
function onChangeBehandelteam(behandelteam_key)
|
||
{
|
||
if (typeof sgBehandelaar2 != "undefined")
|
||
{
|
||
if (behandelteam_key == -1) // Effici<63>nter
|
||
sgBehandelaar2.setValue(-1, "", false, false);
|
||
else
|
||
sgBehandelaar2.setValue($("#sBehandel2").val(), $("#sBehandel2_show").val(), true, true);
|
||
}
|
||
}
|
||
|
||
function mld_cancel()
|
||
{
|
||
window.history.back();
|
||
}
|
||
|
||
</script>
|
||
<%
|
||
FORM_START("acceptform", { "name": "acceptform", "action": rooturl + "/appl/mld/mld_accept_save.asp", "method": "POST" });
|
||
var mld_stdm = "";
|
||
var prefix = "";
|
||
var oldRemark = "";
|
||
var ins_srtdiscipline_key = -1;
|
||
var ins_discipline_omschrijving = "";
|
||
var mld_ins_discipline_key = -1;
|
||
var req = false;
|
||
if (ingesloten.length == 1)
|
||
{
|
||
sql = "SELECT sm.mld_ins_discipline_key"
|
||
+ " , sm.mld_stdmelding_key"
|
||
+ " , m.mld_melding_opmerking"
|
||
+ " , m.mld_ins_discipline_key"
|
||
+ " , m.mld_melding_behandelaar2_key"
|
||
+ " , sd.ins_srtdiscipline_key"
|
||
+ " , " + lcl.xsqla('md.ins_discipline_omschrijving', 'md.ins_discipline_key')
|
||
+ " , sd.ins_srtdiscipline_prefix"
|
||
+ " FROM mld_melding m"
|
||
+ " , mld_stdmelding sm"
|
||
+ " , mld_discipline md"
|
||
+ " , ins_srtdiscipline sd"
|
||
+ " WHERE mld_melding_key = " + ingesloten[0]
|
||
+ " AND 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";
|
||
oRs = Oracle.Execute(sql);
|
||
|
||
mld_stdm = oRs("mld_stdmelding_key").value;
|
||
prefix = oRs("ins_srtdiscipline_prefix").value || "";
|
||
oldRemark = oRs("mld_melding_opmerking").value;
|
||
ins_discipline_omschrijving = oRs("ins_discipline_omschrijving").value;
|
||
ins_srtdiscipline_key = oRs("ins_srtdiscipline_key").value;
|
||
mld_ins_discipline_key = oRs("mld_ins_discipline_key").value;
|
||
mld_melding_behandelaar2_key = oRs("mld_melding_behandelaar2_key").value;
|
||
|
||
oRs.close();
|
||
}
|
||
|
||
if (!hasBehandelteam)
|
||
{
|
||
// Vakgroep
|
||
RWFIELD("flddisc", L("lcl_vakgroup"), (prefix ? prefix + "-" : "") + ins_discipline_omschrijving, { readonly: true })
|
||
|
||
// <!-- Meldingen (Discipline) -->
|
||
FCLTstdmeldingselector("stdm", "sgStdm", { label: L("lcl_complain"),
|
||
perslidKey: user_key,
|
||
autfunctionKey: -1, // toch readonly
|
||
stdmelding_key: mld_stdm,
|
||
readonly: true } );
|
||
}
|
||
else if (hasBehandelteam)
|
||
{
|
||
// Behandelteam
|
||
FCLTdisciplineselector("mld_ins_discipline",
|
||
"sgDisc",
|
||
{ label: L("mld_processing_group"),
|
||
disc_key: mld_ins_discipline_key,
|
||
module: "MLDB",
|
||
perslidKey: user_key,
|
||
autfunctionKey: -1, // alles is toegestaan! authparams.autfunctionkey,
|
||
srtdisc_key: (S("mld_processing_group_all") ? -1 : ins_srtdiscipline_key),
|
||
onChange: "onChangeBehandelteam"
|
||
});
|
||
}
|
||
|
||
// Behandelaar
|
||
if (this_mld.canBOwrite || this_mld.canFOwrite)
|
||
{
|
||
%>
|
||
<input type="hidden" id="prs_key" name="prs_key" value="<%=mld_info.melder_key%>">
|
||
<input type="hidden" id="disc_key" name="disc_key" value="<%=mld_info.disc_key%>">
|
||
<%
|
||
var urlAdd = [{urlParam: "prs_key", field: "prs_key", init: mld_info.melder_key}];
|
||
|
||
if (mld_info.show_alg)
|
||
{
|
||
%>
|
||
<input type="hidden" id="loc_key" name="loc_key" value="<%=mld_info.loc_key%>">
|
||
<%
|
||
urlAdd.push({urlParam: "loc_key", field: "loc_key", init: mld_info.loc_key});
|
||
}
|
||
|
||
if (!hasBehandelteam)
|
||
{
|
||
urlAdd.push({urlParam: "disc_key", field: "disc_key", init: mld_info.disc_key});
|
||
|
||
FCLTpersoonselector("sBehandel",
|
||
"sgBehandelaar",
|
||
{ perslidKey: (mld_info.behandel_key > 0 ? mld_info.behandel_key : (this_mld.canVakgBOFwrite ? user_key : -1)),
|
||
label: L("lcl_mld_behandelaar"),
|
||
autlevel: this_mld.authparams(autfunction) && this_mld.authparams(autfunction).PRSwritelevel,
|
||
urlAdd: urlAdd,
|
||
readonly: !this_mld.canAccept,
|
||
filtercode: (mld_info.mld_status == 0 ? "BEHF" : "BEHB")
|
||
});
|
||
}
|
||
else if (hasBehandelteam)
|
||
{
|
||
urlAdd.push({urlParam: "disc_key", field: "mld_ins_discipline", init: mld_info.mld_ins_discipline_key});
|
||
|
||
FCLTpersoonselector("sBehandel2",
|
||
"sgBehandelaar",
|
||
{ idadd: 2,
|
||
perslidKey: mld_melding_behandelaar2_key,
|
||
label: L("lcl_mld_processor"),
|
||
autlevel: this_mld.authparams(autfunction) && this_mld.authparams(autfunction).PRSwritelevel,
|
||
urlAdd: urlAdd,
|
||
readonly: !this_mld.canAccept,
|
||
filtercode: (mld_info.mld_status == 0 ? "BH2F" : "BH2B")
|
||
});
|
||
}
|
||
}
|
||
// Reden accepteren
|
||
%>
|
||
<tr><td class="label"><label for="opmerk_accept"></label></td>
|
||
<td ><%=safe.html(oldRemark)%></td>
|
||
</tr>
|
||
<%
|
||
RWFIELD("opmerk_accept", L("lcl_mld_note"), "", {name: "opmerk", multi: true, disabled: false, pclass: "fldtxt" + (req?" required":"")});
|
||
|
||
CONTROLGROUP_START();
|
||
BUTTON(L("lcl_accept"), {click: "mld_accept_submit();", icon: "fa-fclt-save"});
|
||
BUTTON(L("lcl_cancel"), {click: "mobile.changePage();", icon: "fa-fclt-cancel"} );
|
||
CONTROLGROUP_END();
|
||
|
||
IFACE.FORM_END();
|
||
%>
|
||
</form>
|
||
<%
|
||
CONTENT_END();
|
||
PAGE_END();
|
||
}
|
||
|
||
// scherm: Instemmen met melding
|
||
PAGE_START({id: "minstem-5-" + mld_key, dialog: true})
|
||
HEADER({title: L("lcl_instem") + " " + subject, back: false});
|
||
CONTENT_START();
|
||
|
||
// TODO
|
||
|
||
CONTENT_END();
|
||
PAGE_END();
|
||
|
||
|
||
if (mld_key > -1 && this_mld.canReject && action != "forward")
|
||
{
|
||
var transitParam = buildTransitParam(["mld_key", "urole", "opmerk"]);
|
||
|
||
// Geen autfunction bepaald. Je komt bij FIN niet binnen met een bepaalde rol (urole).
|
||
// Alleen PRSreadlevel en PRSwritelevel van belang want fac_functie_min_level = 7 (lezen en schrijven organisatie)
|
||
var authparamsMLDBOF = user.checkAutorisation("WEB_MLDBOF", true);
|
||
var authparamsMLDBO3 = user.checkAutorisation("WEB_MLDBO3", true);
|
||
var authparamsMLDFOF = user.checkAutorisation("WEB_MLDFOF", true);
|
||
|
||
var ingesloten = [];
|
||
|
||
// scherm: Afwijzen melding
|
||
PAGE_START({id: "mrej-5-" + mld_key, dialog: true})
|
||
HEADER({title: L("lcl_reject") + " " + subject, back: false});
|
||
CONTENT_START();
|
||
FORM_START("rejectform", { "name": "rejectform", "action": rooturl + "/appl/mld/mld_reject_save.asp?mld_key=" + mld_key });
|
||
%>
|
||
<script type="text/javascript">
|
||
|
||
$(function()
|
||
{
|
||
$("#opmerk_reject").focus();
|
||
});
|
||
|
||
async function mld_reject_submit()
|
||
{
|
||
if (!await validateForm("u2"))
|
||
return false;
|
||
|
||
$.post( $("form[name=rejectform]")[0].action
|
||
, $("[name=rejectform]").serialize() + "<%=transitParam%>"
|
||
, McltCallbackAndThenAlways(mld_reject_callback)
|
||
, "json"
|
||
);
|
||
return true; // disable button
|
||
}
|
||
|
||
function mld_reject_callback(data)
|
||
{
|
||
// mobile kan slechts 1 melding per keer afwijzen
|
||
if (data.reject_arr[0]?.inspect)
|
||
{
|
||
var insdata = data.reject_arr[0].inspect;
|
||
protectRequest.dataToken(insdata);
|
||
//jQuery.ajaxSetup({async: false});
|
||
$.post( "../ins/ins_inspect_save.asp"
|
||
, insdata
|
||
, mld_reject_close
|
||
, "json"
|
||
);
|
||
//jQuery.ajaxSetup({async: true});
|
||
}
|
||
else
|
||
{
|
||
mld_reject_close(data);
|
||
}
|
||
}
|
||
|
||
function mld_reject_close(data)
|
||
{
|
||
window.location.href = "<%=rooturl%>/appl/pda/melding.asp?melding=1&mld_key=" + "<%=mld_key%>";
|
||
}
|
||
|
||
function mld_cancel()
|
||
{
|
||
window.history.back();
|
||
}
|
||
|
||
</script>
|
||
|
||
<input type="hidden" name="urole" value="<%=mld_key > 0? "bo" : "fe"%>">
|
||
<input type="hidden" name="stdm" value="<%=mld_info.stdm_key%>">
|
||
<input type="hidden" name="disc" value="<%=mld_info.disc_key%>">
|
||
<%
|
||
RWFIELD("disc", L("lcl_vakgroup"), (mld_info.prefix ? mld_info.prefix + "-" : "") + mld_info.ins_discipline_omschrijving, {readonly: true})
|
||
ROFIELD("remark", "", mld_info.remark, {multi: true, suppressEmpty: true});
|
||
|
||
RWFIELD("opmerk_reject", L("lcl_mld_inf_Opmerking"), "", {name: "opmerk", multi: true, disabled: false, pclass: "fldtxt" + (req?" required":"")});
|
||
|
||
// De verplichte afwijs (reject) kenmerken tonen bij het afwijzen. Vooralsnog worden de andere verplichte kenmerken niet getoond.
|
||
generateFlexKenmerkBlock({stdm_arr : [stdm_key],
|
||
mld_key : mld_key,
|
||
cancel : true,
|
||
mobile : true,
|
||
nameprefix : "mrej_5_",
|
||
serie : mld_key > 0 ? mld_key : 0,
|
||
extraserie : true,
|
||
canFlexChange: this_mld.canFlexChange,
|
||
showConfidential : this_mld.canViewConfidential,
|
||
melder_key: mld_info.melder_key,
|
||
srtdisc: S("mld_processing_group_all")? [] : [mld_info.srtdisc_key],
|
||
disc: mld_info.disc_key, // Initiele waarde primaire Vakgroep/Behandelteam.
|
||
prsautlevel: this_mld.authparams(autfunction) && this_mld.authparams(autfunction).PRSwritelevel,
|
||
show_alg: mld_info.show_alg,
|
||
loc_key: mld_info.loc_key,
|
||
this_mld: this_mld
|
||
});
|
||
|
||
CONTROLGROUP_START();
|
||
BUTTON(L("lcl_reject"), {click: "mld_reject_submit();", icon: "fa-times"});
|
||
BUTTON(L("lcl_cancel"), {click: "mobile.changePage();", icon: "fa-fclt-cancel"} );
|
||
CONTROLGROUP_END();
|
||
|
||
IFACE.FORM_END();
|
||
%>
|
||
</form>
|
||
<%
|
||
CONTENT_END();
|
||
PAGE_END();
|
||
}
|
||
|
||
if (mld_key > -1 && this_mld.canReopen && action != "forward")
|
||
{
|
||
// scherm: Heropenen melding
|
||
PAGE_START({id: "reopen-6-" + mld_key, dialog: true});
|
||
HEADER({title: L("lcl_reopen") + " " + subject, back: false});
|
||
CONTENT_START();
|
||
FORM_START("reopenform", { "name": "reopenform", "action": rooturl + "/appl/mld/mld_reopen_save.asp?mld_key=" + mld_key });
|
||
%>
|
||
<script type="text/javascript">
|
||
|
||
$(function()
|
||
{
|
||
$("#opmerk_reopen").focus();
|
||
});
|
||
|
||
async function mld_reopen_submit()
|
||
{
|
||
if (!await validateForm("u2"))
|
||
return false;
|
||
|
||
$.post( $("form[name=reopenform]")[0].action
|
||
, $("[name=reopenform]").serialize() + "<%=transitParam%>"
|
||
, McltCallbackAndThenAlways(function() {
|
||
window.location.href = "<%=rooturl%>/appl/pda/melding.asp?melding=1&mld_key=" + "<%=mld_key%>";
|
||
})
|
||
, "json"
|
||
);
|
||
return true; // disable button
|
||
}
|
||
|
||
function mld_cancel()
|
||
{
|
||
window.history.back();
|
||
}
|
||
|
||
</script>
|
||
|
||
<input type="hidden" name="urole" value="<%=mld_key > 0? "bo" : "fe"%>">
|
||
<input type="hidden" name="stdm" value="<%=mld_info.stdm_key%>">
|
||
<input type="hidden" name="disc" value="<%=mld_info.disc_key%>">
|
||
<%
|
||
ROFIELD("disc", L("lcl_vakgroup"), (mld_info.prefix ? mld_info.prefix + "-" : "") + mld_info.ins_discipline_omschrijving, {readonly: true})
|
||
ROFIELD("remark", "", mld_info.remark, {multi: true, suppressEmpty: true});
|
||
|
||
RWFIELD("opmerk_reopen", L("lcl_mld_note"), "", { name: "opmerk", multi: true, disabled: false, pclass: "fldtxt required" });
|
||
|
||
CONTROLGROUP_START();
|
||
BUTTON(L("lcl_reopen"), {click: "mld_reopen_submit();", icon: "fa-unlock"});
|
||
BUTTON(L("lcl_cancel"), {click: "mobile.changePage();", icon: "fa-fclt-cancel"} );
|
||
CONTROLGROUP_END();
|
||
|
||
IFACE.FORM_END();
|
||
%>
|
||
</form>
|
||
<%
|
||
CONTENT_END();
|
||
PAGE_END();
|
||
}
|
||
|
||
if (mld_key > -1 && this_mld.canContinue && action != "forward")
|
||
{
|
||
// scherm: vervolgmeldingen
|
||
function fncolHeader(oRs)
|
||
{
|
||
var txt = oRs("item").Value;
|
||
var hdr_status = ( oRs("status_key").Value != 0
|
||
&& oRs("status_key").Value != 4
|
||
&& oRs("status_key").Value != 7
|
||
? status.getmldstatustext(oRs("status_key").Value)
|
||
: ""
|
||
);
|
||
|
||
txt = "<span>" + safe.html(txt) + "</span><span class='cs1'>"
|
||
+ (oRs("mobile_detail").Value || "")
|
||
+ "</span>";
|
||
if (hdr_status)
|
||
{
|
||
txt = "<span class='n2'>(" + hdr_status + ") </span>" + txt;
|
||
}
|
||
|
||
return txt;
|
||
}
|
||
|
||
function fncolLink(oRs)
|
||
{
|
||
var url = "../pda/melding.asp?mld_key=" + oRs("item_key").Value;
|
||
return url;
|
||
}
|
||
|
||
function fncolContent(oRs, thisModule)
|
||
{
|
||
var result = ( oRs("mld_melding_onderwerp").Value
|
||
? "<span class='subject'>" + safe.html(oRs("mld_melding_onderwerp").Value)+ "</span>"
|
||
: toDateTimeString(oRs("datum").Value, false, false, true)
|
||
)
|
||
+ ( oRs("mld_melding_omschrijving").Value
|
||
? "<div class='listbodytext'>" +safe.html(shorttxt(oRs("mld_melding_omschrijving").Value, S("rs_mobile_maxchar"))) + "</div>"
|
||
: ""
|
||
);
|
||
return result;
|
||
}
|
||
|
||
PAGE_START({id: "continue-7-" + mld_key, dialog: true});
|
||
%>
|
||
<script type="text/javascript">
|
||
function vervolg_melding()
|
||
{
|
||
var purl = "melding.asp?mld_key=-1&urole=fo&mld_continue=1&start_key=<%=mld_key%>";
|
||
window.location.href = purl;
|
||
}
|
||
</script>
|
||
<%
|
||
HEADER({title: L("lcl_mld_continuation_mld") + " " + subject, back: false});
|
||
CONTENT_START();
|
||
CONTAINER_START()
|
||
BUTTON(L("lcl_add"), {click: "vervolg_melding()", icon: "fa-plus" });
|
||
CONTAINER_END();
|
||
|
||
var sql = "SELECT isd.ins_srtdiscipline_prefix || TO_CHAR (m.mld_melding_key) item"
|
||
+ " , m.mld_melding_key item_key"
|
||
+ " , m.mld_melding_onderwerp"
|
||
+ " , m.mld_melding_omschrijving"
|
||
+ " , m.mld_melding_datum datum"
|
||
+ " , m.mld_melding_status status_key"
|
||
+ " , id.ins_discipline_omschrijving mobile_detail"
|
||
+ " , COALESCE(m.prs_perslid_key_voor, m.prs_perslid_key) prs_perslid_key"
|
||
+ " FROM mld_melding m"
|
||
+ " , mld_stdmelding sm"
|
||
+ " , ins_srtdiscipline isd"
|
||
+ " , ins_tab_discipline id"
|
||
+ " WHERE m.mld_stdmelding_key = sm.mld_stdmelding_key"
|
||
+ " AND sm.mld_ins_discipline_key = id.ins_discipline_key"
|
||
+ " AND id.ins_srtdiscipline_key = isd.ins_srtdiscipline_key"
|
||
+ " AND m.mld_melding_start_key = " + mld_key
|
||
+ " ORDER BY item_key DESC";
|
||
|
||
var rst = new ResultsetTable({ sql: sql
|
||
, keyColumn: "item_key"
|
||
, linkColumn: fncolLink
|
||
, headerColumn: fncolHeader
|
||
, contentColumn: fncolContent
|
||
, ID: "mld_list_m"
|
||
, showAll: true
|
||
, noSearch: false
|
||
, layout: "card"
|
||
});
|
||
var cnt = rst.processResultset();
|
||
CONTENT_END();
|
||
FOOTER();
|
||
PAGE_END();
|
||
}
|
||
|
||
// page double calls
|
||
PAGE_START({id: "mdbl"})
|
||
HEADER({title: L("lcl_mld_save_new_call") + " " + subject, back: false});
|
||
CONTENT_START();
|
||
FORM_START("doubleform", { "name": "doubleform" });
|
||
IFACE.FORM_END();
|
||
%>
|
||
</form>
|
||
<%
|
||
CONTENT_END();
|
||
PAGE_END();
|
||
PDA_PAGE_END(); %>
|
||
</body>
|
||
</html>
|
||
<% ASPPAGE_END();
|
||
%>
|