384 lines
15 KiB
Plaintext
384 lines
15 KiB
Plaintext
<%@ language = "javascript" %>
|
|
<% /*
|
|
$Revision$
|
|
$Id$
|
|
|
|
File: pda/ins_inspect_list.asp
|
|
Description: Toont een beknopte inspectielijst voor op de pda
|
|
Parameters: -
|
|
Context: -
|
|
Note: -
|
|
*/ %>
|
|
|
|
<!-- #include file="../Shared/common.inc" -->
|
|
<!-- #include file="../Shared/discxalg3d.inc" -->
|
|
<!-- #include file="../Shared/discx3d.inc" -->
|
|
<!-- #include file="../INS/ins.inc" -->
|
|
<!-- #include file="./resultset_table.inc" -->
|
|
<!-- #include file="./mobile.inc" -->
|
|
<!-- #include file="./iface.inc" -->
|
|
<!-- #include file="../Shared/dienstselector.inc" -->
|
|
<!-- #include file="../Shared/calendar.inc" -->
|
|
<!-- #include file="../ins/ins_inspect_list.inc" -->
|
|
|
|
<%
|
|
var autfunction = "WEB_INSUSE";
|
|
var authparams = user.checkAutorisation(autfunction);
|
|
|
|
var urole = getQParamSafe("urole", "fe");
|
|
|
|
var ins_key = getQParamInt("ins_key", -1);
|
|
var isPeriodiekeTaken = (ins_key == -1);
|
|
var locatie_key = getQParamInt("locatie_key", user.alg_locatie_key({withcurrent: true})); // Locatie
|
|
var gebouw_key = getQParamInt("gebouw_key", user.alg_gebouw_key({withcurrent: true})); // Gebouw, kan -1 zijn, dan niet gebruiken
|
|
var verdieping_key = getQParamInt("verdieping_key", user.alg_verdieping_key({withcurrent: true}));
|
|
var ruimte_key = getQParamInt("ruimte_key", -1);
|
|
var ins_srtgroep_key = getQParamInt("ins_srtgroep_key", -1);
|
|
|
|
var grp_sel = getQParam("grp", "");
|
|
var qrc = getQParamInt("qrc", 0) != 0;
|
|
|
|
// Gestarte/begonnen en ter uitvoering staande inspecties (status 2 en 3).
|
|
var inspDone = getQParamInt("has_insInspDone", 0) == 1 // Ben ik meegegeven?
|
|
? getQParamSafe("insInspDone", "off") == "on" // Neem dan mijn meegegeven waarde
|
|
: false; // Anders default uitgevinkt
|
|
|
|
// Gestarte/begonnen en ter uitvoering staande inspecties (status 2 en 3).
|
|
var inspBusy = !inspDone &&
|
|
getQParamInt("has_insInspBusy", 0) == 1 // Ben ik meegegeven?
|
|
? getQParamSafe("insInspBusy", "off") == "on" // Neem dan mijn meegegeven waarde
|
|
: true; // Anders default aangevinkt
|
|
|
|
// Afgemelde inspecties (status 5). Actie vereist.
|
|
var inspClosed = !inspDone &&
|
|
getQParamInt("has_insInspClosed", 0) == 1 // Ben ik meegegeven?
|
|
? getQParamSafe("insInspClosed", "off") == "on" // Neem dan mijn meegegeven waarde
|
|
: true; // Anders default aangevinkt
|
|
|
|
// Binnenkort. Zonder begindatum is te laat + binnenkort. Zonder einddatum is binnenkort + toekomst'
|
|
var inspSoon = !inspDone &&
|
|
getQParamInt("has_insInspSoon", 0) == 1 // Ben ik meegegeven?
|
|
? getQParamSafe("insInspSoon", "off") == "on" // Neem dan mijn meegegeven waarde
|
|
: true; // Anders default aangevinkt
|
|
|
|
var soondate = new Date(new Date().setDate(new Date().getDate() + S("ins_inspect_soon_days")));
|
|
var inspsoonfrom = getQParamDate("inspsoon_from", null); // Periode van
|
|
var inspsoonto = getQParamDate("inspsoon_to", soondate); // Perdiode tot
|
|
var donedatefrom = getQParamDate("donedate_from", null); // Periode van
|
|
var donedateto = getQParamDate("donedate_to", null); // Perdiode tot
|
|
|
|
var dienst_key = getQParamInt("dienst_key", -1);
|
|
|
|
var params = { inspect: true,
|
|
mobile: true,
|
|
dienst_key: dienst_key, // Dienst.
|
|
loc_key_arr: locatie_key > 0? [locatie_key] : [],
|
|
bld_key_arr: gebouw_key > 0? [gebouw_key] : [],
|
|
flr_key_arr: verdieping_key > 0? [verdieping_key] : [],
|
|
room_key_arr: ruimte_key > 0? [ruimte_key] : [],
|
|
insgroup_key_arr: ins_srtgroep_key > 0? [ins_srtgroep_key] : [],
|
|
inspSoon: inspSoon, // Laat alle inspecties zien die binnenkort gedaan moeten worden.
|
|
inspClosed: inspClosed, // Vervolgactie vereist. Inspectie is gereed gemeld(5) en moet worden afgerond.
|
|
inspBusy: inspBusy, // Onderhanden. Inspectie is gestart(2) of ter uitvoering(3) en moet worden gereed gemeld of afgerond.
|
|
inspDone: inspDone,
|
|
insObjIncl: true, // Ook onderdelen (nu default aan).
|
|
expObjIncl: false,
|
|
inspsoonfrom: inspsoonfrom,
|
|
inspsoonto: inspsoonto,
|
|
donedatefrom: donedatefrom,
|
|
donedateto: donedateto
|
|
};
|
|
|
|
var subject = L("lcl_mobile_planned_act")
|
|
if (isPeriodiekeTaken)
|
|
{
|
|
if (ruimte_key > -1)
|
|
{
|
|
var sql = "SELECT aog.alg_gebouw_code || '-' || aog.alg_verdieping_code || '-' || aog.alg_ruimte_nr plaats"
|
|
+ " FROM alg_v_onroerendgoed_gegevens aog"
|
|
+ " WHERE aog.alg_ruimte_key = " + ruimte_key;
|
|
var oRs = Oracle.Execute(sql);
|
|
subject += " " + oRs("plaats").Value;
|
|
oRs.Close();
|
|
}
|
|
else
|
|
{
|
|
subject += " " + CurrentPosition;
|
|
}
|
|
}
|
|
else
|
|
{ // vanuit ins_deel, dus de inspecties op dit deel.
|
|
var sql = "SELECT d.ins_deel_omschrijving"
|
|
+ " , d.ins_deel_opmerking"
|
|
+ " , s.ins_srtdeel_omschrijving"
|
|
+ " FROM ins_deel d"
|
|
+ " , ins_srtdeel s"
|
|
+ " WHERE d.ins_srtdeel_key = s.ins_srtdeel_key"
|
|
+ " AND d.ins_deel_key = " + ins_key;
|
|
var oRs = Oracle.Execute(sql);
|
|
var deel_oms = oRs("ins_deel_omschrijving").Value;
|
|
var deel_opm = oRs("ins_deel_opmerking").Value;
|
|
var srtd_oms = oRs("ins_srtdeel_omschrijving").Value;
|
|
subject = srtd_oms + " " + deel_oms;
|
|
oRs.Close();
|
|
}
|
|
%>
|
|
|
|
<html>
|
|
<head>
|
|
<% FCLTMHeader.Generate({}); %>
|
|
<script>
|
|
|
|
function onClickDone() {
|
|
if (document.getElementById("insInspDone").checked)
|
|
{
|
|
$("[id^=donedate_]").closest("div").show();
|
|
$("[id^=inspsoon_]").closest("div").hide();
|
|
$("#insInspBusy, #insInspClosed, #insInspSoon").closest(".<%=MOBILE_UI_CLASSES.checkbox_wrapper.replace(/^\s*/, "")%>").hide();
|
|
}
|
|
else
|
|
{
|
|
$("[id^=donedate_]").closest("div").hide();
|
|
$("[id^=inspsoon_]").closest("div").show();
|
|
$("#insInspBusy, #insInspClosed, #insInspSoon").closest(".<%=MOBILE_UI_CLASSES.checkbox_wrapper.replace(/^\s*/, "")%>").show();
|
|
}
|
|
}
|
|
|
|
$(() => {
|
|
$("#insInspDone").on("change", onClickDone)
|
|
.trigger("change"); // Direct goed zetten
|
|
})
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<%
|
|
PAGE_START();
|
|
if (isPeriodiekeTaken)
|
|
{
|
|
FILTER_PANEL_START();
|
|
FORM_START("inspect_filter_list", {name: "u2", action: rooturl + "/appl/pda/ins_inspect_list.asp", method: "GET"});
|
|
HIFIELD("urole", urole);
|
|
|
|
CONTROLGROUP_START();
|
|
FCLTdienstselector("dienst_key", "dienst_key",
|
|
{ dienstKey : dienst_key,
|
|
filtercode: (urole == "b2" ? "OWN" : null),
|
|
label: L("lcl_prs_companies_dienst")
|
|
});
|
|
CONTROLGROUP_END();
|
|
|
|
CONTROLGROUP_START();
|
|
CHB_FIELD("insInspDone", L("lcl_ins_controle_done"), (inspDone ? 1 : 0));
|
|
|
|
FCLTcalendar("donedate_from",
|
|
{
|
|
label: L("lcl_period_from"),
|
|
datum: (donedatefrom ? donedatefrom : new Date(new Date().getTime() - 2*24*60*60*1000)),
|
|
volgnr: 1,
|
|
maxFuture: 0,
|
|
nofollow: true,
|
|
trhidden: !inspDone,
|
|
mobile: true
|
|
});
|
|
|
|
FCLTcalendar("donedate_to",
|
|
{
|
|
label: L("lcl_period_to"),
|
|
datum: (donedateto ? donedateto : new Date(new Date().getTime() - 1*24*60*60*1000)),
|
|
volgnr: 2,
|
|
maxFuture: 0,
|
|
nofollow: true,
|
|
trhidden: !inspDone,
|
|
mobile: true
|
|
});
|
|
|
|
CHB_FIELD("insInspBusy", L("lcl_ins_controle_busy"), (inspBusy ? 1 : 0));
|
|
CHB_FIELD("insInspClosed", L("lcl_ins_controle_act_req"), (inspClosed ? 1 : 0));
|
|
CHB_FIELD("insInspSoon", L("lcl_ins_controle_soon"), (inspSoon ? 1 : 0));
|
|
CONTROLGROUP_END();
|
|
|
|
CONTROLGROUP_START();
|
|
FCLTcalendar("inspsoon_from",
|
|
{
|
|
label: L("lcl_period_from"),
|
|
datum: inspsoonfrom,
|
|
initEmpty: inspsoonfrom === null,
|
|
volgnr: 3,
|
|
nofollow: true,
|
|
trhidden: inspDone,
|
|
mobile: true
|
|
});
|
|
FCLTcalendar("inspsoon_to",
|
|
{
|
|
label: L("lcl_period_to"),
|
|
datum: inspsoonto,
|
|
volgnr: 4,
|
|
nofollow: true,
|
|
trhidden: inspDone,
|
|
mobile: true
|
|
});
|
|
CONTROLGROUP_END();
|
|
|
|
CONTROLGROUP_START();
|
|
BUTTON(L("lcl_mobile_panel_filter"), { id: "search_submit", click: "document.forms.inspect_filter_list.submit();", icon: "fa-fclt-refresh", datarel: "close" });
|
|
CONTROLGROUP_END();
|
|
FORM_END()
|
|
FILTER_PANEL_END();
|
|
}
|
|
|
|
HEADER({
|
|
title: subject,
|
|
filterPanel: isPeriodiekeTaken
|
|
});
|
|
CONTENT_START();
|
|
|
|
function fncolLink(oRs)
|
|
{
|
|
if (isPeriodiekeTaken)
|
|
{
|
|
var url = "../pda/ins_inspect.asp?ins_key=" + oRs("ins_deel_key").Value + "&srtcontrole_key=" + oRs("ins_srtcontrole_key").Value;
|
|
}
|
|
else
|
|
{
|
|
var deelsrtcontrole_key = oRs("ins_deelsrtcontrole_key").Value;
|
|
if (deelsrtcontrole_key > 0)
|
|
var url = "../pda/ins_inspect_hist.asp?ins_key=" + ins_key + "&deelsrtcontrole_key=" + deelsrtcontrole_key;
|
|
else
|
|
var url = "../pda/ins_inspect.asp?ins_key=" + ins_key + "&srtcontrole_key=" + oRs("ins_srtcontrole_key").Value;
|
|
}
|
|
return url;
|
|
};
|
|
|
|
function fncolHeader(oRs)
|
|
{
|
|
var object = safe.html(oRs("ins_deel_omschrijving").Value);
|
|
var srtcontrole = safe.html(oRs("ins_srtcontrole_omschrijving").Value);
|
|
var titletext;
|
|
switch(oRs("ctr_controle_type").value)
|
|
{
|
|
case 1: titletext = L("lcl_ins_srtcontrole_insp"); break;
|
|
case 2: titletext = L("lcl_ins_srtcontrole_repl"); break;
|
|
case 3: titletext = L("lcl_ins_srtcontrole_cert"); break;
|
|
default: titletext = L("lcl_menu_ins_controle"); break;
|
|
}
|
|
return titletext + " " + object + "<br>" + srtcontrole; // wat formatting zou fijn zijn, maar dan wel uniform overal
|
|
};
|
|
|
|
|
|
function fnInspectie(oRs)
|
|
{
|
|
var vervallen = (oRs("inspectie_eind").Value != null && new Date(oRs("inspectie_eind").Value).getTime() < new Date().midnight());
|
|
if (vervallen) return L("lcl_ins_controle_vervallen");
|
|
|
|
var inspectie = inspDone? oRs("inspectie_date").Value : oRs("inspectie_next").Value;
|
|
|
|
var inspectie_eenheid = (isPeriodiekeTaken ? oRs("inspectie_eenheid").Value : oRs("eenheid").Value);
|
|
if (inspectie_eenheid == 0)
|
|
var dttxt = toDateTimeString(inspectie);
|
|
else
|
|
var dttxt = toDateString(inspectie);
|
|
|
|
return dttxt;
|
|
}
|
|
|
|
function fnPlandatum(oRs)
|
|
{
|
|
var vervallen = (oRs("inspectie_eind").Value != null && new Date(oRs("inspectie_eind").Value).getTime() < new Date().midnight());
|
|
if (vervallen) return L("lcl_ins_controle_vervallen");
|
|
|
|
var plandatum = (isPeriodiekeTaken ? oRs("ins_deelsrtcontrole_plandatum").Value : oRs("ins_deelsrtcontrole_datum").Value);
|
|
if (plandatum == null) return "";
|
|
|
|
var inspectie_eenheid = (isPeriodiekeTaken ? oRs("inspectie_eenheid").Value : oRs("eenheid").Value);
|
|
if (inspectie_eenheid == 0)
|
|
var dttxt = toDateTimeString(plandatum);
|
|
else
|
|
var dttxt = toDateString(plandatum);
|
|
|
|
var res = "";
|
|
if (!isPeriodiekeTaken)
|
|
{
|
|
if (oRs("ins_deelsrtcontrole_status").Value == 5 || oRs("ins_deelsrtcontrole_status").Value == 6)
|
|
{
|
|
if (oRs("ins_controlemode_success").Value == 0)
|
|
res = I("fa-exclamation-triangle");
|
|
else
|
|
res = I("fa-check");
|
|
res += " ";
|
|
}
|
|
}
|
|
|
|
return res + dttxt;
|
|
}
|
|
|
|
function fncolDetail(oRs)
|
|
{
|
|
var objectsoort = safe.html( (isPeriodiekeTaken ? oRs("soort").Value : oRs("ins_deelsrtcontrole_opmerking").Value) );
|
|
|
|
return objectsoort;
|
|
};
|
|
|
|
function fnAside(oRs)
|
|
{
|
|
var inspectie_next = fnInspectie(oRs);
|
|
var inspectie_plan = fnPlandatum(oRs);
|
|
return inspectie_plan != ""? inspectie_plan : inspectie_next;
|
|
};
|
|
|
|
function fncolsubHeader(oRs)
|
|
{
|
|
var flexkenmerken = "";
|
|
var plaats = "";
|
|
if (isPeriodiekeTaken)
|
|
{
|
|
plaats = "<div class='listbodykop'>" + I("fa-map-marker") + " " + safe.html(oRs("plaats").Value) + "</div>";
|
|
flexkenmerken = LIST_KENMERK_COL(oRs, {kmcol: "insflex"});
|
|
}
|
|
// else: // Voor inspectie geen plaats en kenmerken tonen.
|
|
return plaats + flexkenmerken;
|
|
};
|
|
|
|
if (isPeriodiekeTaken)
|
|
{ // Periodieke taken
|
|
var v_flexparams = { inspect: 1 // 1=Objectbeheer overzicht.
|
|
, multiflex: true
|
|
, ins_deelsrtcontrole: "XX"
|
|
}
|
|
var insFlexParams = ins.ins_deel_flex_params(1, v_flexparams);
|
|
params.insFlexParams = insFlexParams;
|
|
var sql = ins.getobjectinspect_sql(autfunction, params);
|
|
}
|
|
else
|
|
{ // Inspecties op object
|
|
var sql_list = insp.list_sql(ins_key, -1, {past: true, present: true, future: true, insFlexParams: {anyflex: false, sql:""}});
|
|
sql = "SELECT o.alg_plaatsaanduiding || DECODE(o.alg_plaatsomschrijving, '','' ,' (' || o.alg_plaatsomschrijving || ')') plaats"
|
|
+ " , x.*"
|
|
+ " FROM ins_v_alg_overzicht o"
|
|
+ " , ins_deel d"
|
|
+ " , (" + sql_list + ") x"
|
|
+ " WHERE d.ins_alg_ruimte_type = o.alg_onroerendgoed_type"
|
|
+ " AND d.ins_alg_ruimte_key = o.alg_onroerendgoed_keys"
|
|
+ " AND d.ins_deel_key = x.ins_deel_key";
|
|
}
|
|
|
|
var rst = new ResultsetTable({sql: sql,
|
|
keyColumn: "ins_deel_key",
|
|
linkColumn: fncolLink,
|
|
detailColumn: fncolDetail,
|
|
headerColumn: fncolHeader,
|
|
asideColumn: fnAside,
|
|
subheaderColumn: fncolsubHeader,
|
|
ID: "instable",
|
|
showAll: true
|
|
});
|
|
|
|
var cnt = rst.processResultset();
|
|
|
|
CONTENT_END();
|
|
FOOTER({});
|
|
PAGE_END();
|
|
PDA_PAGE_END(); %>
|
|
</body>
|
|
</html>
|
|
<% ASPPAGE_END(); %>
|