AKZA#37576 PDA/INS: Mobiel details laatste/juiste (vorige) taak kunnen inzien
svn path=/Website/trunk/; revision=33891
This commit is contained in:
@@ -15,7 +15,8 @@
|
||||
<!-- #include file="../Shared/iface.inc" -->
|
||||
<!-- #include file="../Shared/json2.js" -->
|
||||
<!-- #include file="../Shared/resultset_table_v2.inc" -->
|
||||
<!-- #include file="ins.inc" -->
|
||||
<!-- #include file="../ins/ins.inc" -->
|
||||
<!-- #include file="../ins/ins_inspect_list.inc" -->
|
||||
<%
|
||||
FCLTHeader.Requires({ js: ["jquery-ui.js"]});
|
||||
|
||||
@@ -145,188 +146,7 @@ var authparams = user.checkAutorisation("WEB_INSUSE");
|
||||
|
||||
// Als de controlesoort niet meer geldig is dan kunnen er geen inspecties meer komen.
|
||||
// Een object kan meerdere controlesoorten hebben. Alleen die controlesoorten laten zien die nog geldig zijn.
|
||||
var lastinspect = "(SELECT CASE di.ins_srtcontrole_mode"
|
||||
+ " WHEN 0"
|
||||
+ " THEN idsc.ins_deelsrtcontrole_datum_org" // Moment modus. Uitgaan van eigenlijke/orginele inspectiedatum.
|
||||
+ " ELSE idsc.ins_deelsrtcontrole_datum" // Interval modus. Uitgaan van werkelijke inspectiedatum.
|
||||
+ " END ins_deelsrtcontrole_datum"
|
||||
+ " FROM ins_deelsrtcontrole idsc"
|
||||
+ " WHERE idsc.ins_srtcontrole_key = di.ins_srtcontrole_key"
|
||||
+ " AND idsc.ins_deelsrtcontrole_status IN (5, 6)"
|
||||
+ " AND idsc.ins_deel_key = di.ins_deel_key"
|
||||
+ " AND idsc.ins_deelsrtcontrole_key = (SELECT MAX(idsc2.ins_deelsrtcontrole_key)"
|
||||
+ " FROM ins_deelsrtcontrole idsc2"
|
||||
+ " WHERE idsc2.ins_deel_key = di.ins_deel_key"
|
||||
+ " AND idsc2.ins_srtcontrole_key = di.ins_srtcontrole_key"
|
||||
+ " AND idsc2.ins_deelsrtcontrole_status IN (5, 6)))";
|
||||
|
||||
var sql = "SELECT *"
|
||||
+ " FROM ("
|
||||
// mogelijke inspecties op dit object die nog gaan komen.
|
||||
// Als er een voorlopige inspectie is aangemaakt maar nog niet is afgemeld of afgerond, dan hoeft er geen nieuwe inspectie te worden getoond.
|
||||
// Dus met de respijt heb je in dit eerste deel van de query niet meer te maken.
|
||||
+ " SELECT 1 seq"
|
||||
+ " , di.ins_deel_key"
|
||||
+ " , di.ins_deel_aanmaak"
|
||||
+ " , di.ins_deel_aantal"
|
||||
+ " , TO_DATE (NULL) ins_deelsrtcontrole_datum"
|
||||
+ " , NULL inspectie_org"
|
||||
+ " , NULL isrespijt"
|
||||
+ " , CASE WHEN " + lastinspect + " IS NULL THEN 1 ELSE 0 END nonext"
|
||||
// Als respijtdatum vandaag of dit uur is dan is de respijtdatum de eerstvolgende inspectie en dus maar 1 step.
|
||||
// Als er vandaag al geinspecteerd is dan de volgende inspectiedatum in de toekomst (functie nextcyclusdatesteps())
|
||||
+ " , fac.nextcyclusdatesteps (COALESCE(" + lastinspect + ", SYSDATE)"
|
||||
+ " , di.ins_srtcontrole_mode"
|
||||
+ " , di.ins_srtcontrole_eenheid"
|
||||
+ " , di.ins_srtcontrole_periode"
|
||||
+ " , di.ins_srtcontrole_bits)"
|
||||
+ " inspectie_steps"
|
||||
// Als respijtdatum vandaag of dit uur is dan is de respijtdatum de eerstvolgende inspectie en dan dus de respijtdatum opleveren.
|
||||
// Als er vandaag of dit uur niet geinspecteerd is dan de eerstvolgende inspectiedatum vandaag of in de toekomst (steps = 0: functie nextcyclusdate(..., 0))
|
||||
// Als er vandaag of dit uur al geinspecteerd is dan de eerstvolgende inspectiedatum in de toekomst (steps = 1: functie nextcyclusdate(..., 1))
|
||||
+ " , fac.nextcyclusdate (COALESCE(" + lastinspect + ", di.ins_deel_aanmaak)"
|
||||
+ " , di.ins_srtcontrole_mode"
|
||||
+ " , di.ins_srtcontrole_eenheid"
|
||||
+ " , di.ins_srtcontrole_periode"
|
||||
+ " , di.ins_srtcontrole_bits"
|
||||
+ " , CASE"
|
||||
+ " WHEN di.ins_srtcontrole_mode = 1" // Interval modus
|
||||
+ " THEN 1"
|
||||
+ " WHEN di.ins_srtcontrole_eenheid = 0 AND"
|
||||
+ " TRUNC (COALESCE (" + lastinspect + ", di.ins_deel_aanmaak), 'HH24' ) >= TRUNC (SYSDATE, 'HH24')"
|
||||
+ " THEN 1" // Uurlijks: Als de datum in de toekomst ligt, bepaal dan de volgende datum (1 step verder).
|
||||
+ " WHEN di.ins_srtcontrole_eenheid > 0 AND"
|
||||
+ " TRUNC (COALESCE (" + lastinspect + ", di.ins_deel_aanmaak),'DDD') >= TRUNC (SYSDATE, 'DDD')"
|
||||
+ " THEN 1" // Dagelijks t/m jaarlijks: Als de datum in de toekomst ligt, bepaal dan de volgende datum (1 step verder).
|
||||
+ " WHEN " + lastinspect + " IS NULL"
|
||||
+ " THEN 1" // Als Eerste inspectie, bepaal dan ook de volgende (1 step) datum.
|
||||
+ " ELSE 0" // Vindt de eerste datum vandaag of in de toekomst
|
||||
+ " END)"
|
||||
+ " inspectie_next"
|
||||
+ " , di.ins_srtcontroledl_xcp_startdat"
|
||||
+ " , di.ins_srtcontrole_key"
|
||||
+ " , " + lcl.xsqla('di.ins_srtcontrole_omschrijving', 'di.ins_srtcontrole_key')
|
||||
+ " , di.ins_srtcontrole_groep"
|
||||
+ " , di.ins_srtcontrole_opmerking"
|
||||
+ " , NULL ins_deelsrtcontrole_key"
|
||||
+ " , di.ins_srtcontrole_periode periode"
|
||||
+ " , di.ins_srtcontrole_eenheid eenheid"
|
||||
+ " , di.ins_srtcontrole_kosten kosten"
|
||||
+ " , di.ins_srtcontrole_mode isc_mode"
|
||||
+ " , NULL plandatum"
|
||||
+ " , '' ins_deelsrtcontrole_opmerking"
|
||||
+ " , NULL inspecteur"
|
||||
+ " , di.ctr_controle_type"
|
||||
+ " , -1 ins_deelsrtcontrole_status"
|
||||
+ " , di.ins_srtcontrole_eind inspectie_eind"
|
||||
+ " , di.ins_srtcontrole_options options"
|
||||
+ " , NULL ins_controlemode_success"
|
||||
+ " FROM ins_v_defined_inspect_xcp di"
|
||||
+ " WHERE (di.ins_srtcontrole_eind >= TRUNC(SYSDATE, 'DD')"
|
||||
+ " OR di.ins_srtcontrole_eind IS NULL)"
|
||||
+ " AND di.ins_deel_key = " + ins_key
|
||||
+ " AND di.ins_srtcontrole_periode > 0" // Als de periode 0 is dan de inspecties die gaan komen niet meer tonen.
|
||||
// Als er een voorlopige inspectie is aangemaakt maar nog niet is afgemeld of afgerond, dan hoeft er geen nieuwe inspectie te worden getoond.
|
||||
+ " AND NOT EXISTS (SELECT idsc.ins_deelsrtcontrole_key"
|
||||
+ " FROM ins_deelsrtcontrole idsc"
|
||||
+ " WHERE idsc.ins_srtcontrole_key = di.ins_srtcontrole_key"
|
||||
+ " AND idsc.ins_deelsrtcontrole_status NOT IN (6)"
|
||||
+ " AND idsc.ins_deel_key = di.ins_deel_key)"
|
||||
+ " AND di.ctr_discipline_key IN (SELECT w.ins_discipline_key"
|
||||
+ " FROM fac_v_webgebruiker w"
|
||||
+ " , fac_functie f"
|
||||
+ " WHERE w.fac_functie_key = f.fac_functie_key "
|
||||
+ " AND f.fac_functie_code = 'WEB_CTRUSE'"
|
||||
+ " AND w.fac_gebruiker_prs_level_read < 9"
|
||||
+ " AND w.fac_gebruiker_alg_level_read < 9"
|
||||
+ " AND w.prs_perslid_key = " + user_key + ")"
|
||||
+ " UNION ALL"
|
||||
// Combineren met uitgevoerde inspecties op dit object of lopende inspecties (ingepland(0), gestart(2) of gereedgemeld(5))
|
||||
+ " SELECT 2 seq"
|
||||
+ " , di.ins_deel_key"
|
||||
+ " , di.ins_deel_aanmaak"
|
||||
+ " , di.ins_deel_aantal"
|
||||
+ " , idsc.ins_deelsrtcontrole_datum"
|
||||
+ " , COALESCE(idsc.ins_deelsrtcontrole_plandatum"
|
||||
+ " , CASE"
|
||||
+ " WHEN idsc.ins_deelsrtcontrole_status = 2 AND idsc.ins_deelsrtcontrole_datum_org IS NULL" // Alle eerste inspectie.
|
||||
+ " THEN fac.nextcyclusdate (COALESCE(" + lastinspect + ", di.ins_deel_aanmaak)"
|
||||
+ " , di.ins_srtcontrole_mode"
|
||||
+ " , di.ins_srtcontrole_eenheid"
|
||||
+ " , di.ins_srtcontrole_periode"
|
||||
+ " , di.ins_srtcontrole_bits"
|
||||
+ " , CASE"
|
||||
+ " WHEN di.ins_srtcontrole_mode = 1" // Interval modus
|
||||
+ " THEN 1"
|
||||
+ " WHEN di.ins_srtcontrole_eenheid = 0 AND"
|
||||
+ " TRUNC (COALESCE (" + lastinspect + ", di.ins_deel_aanmaak), 'HH24' ) >= TRUNC (SYSDATE, 'HH24')"
|
||||
+ " THEN 1" // Uurlijks: Als de datum in de toekomst ligt, bepaal dan de volgende datum (1 step verder).
|
||||
+ " WHEN di.ins_srtcontrole_eenheid > 0 AND"
|
||||
+ " TRUNC (COALESCE (" + lastinspect + ", di.ins_deel_aanmaak),'DDD') >= TRUNC (SYSDATE, 'DDD')"
|
||||
+ " THEN 1" // Dagelijks t/m jaarlijks: Als de datum in de toekomst ligt, bepaal dan de volgende datum (1 step verder).
|
||||
+ " WHEN " + lastinspect + " IS NULL"
|
||||
+ " THEN 1" // Als Eerste inspectie, bepaal dan ook de volgende (1 step) datum.
|
||||
+ " ELSE 0" // Vindt de eerste datum vandaag of in de toekomst
|
||||
+ " END)"
|
||||
+ " ELSE ins_deelsrtcontrole_datum_org"
|
||||
+ " END) inspectie_org"
|
||||
+ " , CASE WHEN idsc.ins_deelsrtcontrole_plandatum > idsc.ins_deelsrtcontrole_datum_org THEN 1 ELSE 0 END isrespijt"
|
||||
+ " , NULL nonext"
|
||||
+ " , CASE"
|
||||
+ " WHEN di.ins_srtcontrole_eenheid = 0 AND"
|
||||
+ " idsc.ins_deelsrtcontrole_plandatum IS NOT NULL AND"
|
||||
+ " TRUNC (idsc.ins_deelsrtcontrole_plandatum, 'HH24') >= TRUNC (SYSDATE, 'HH24')"
|
||||
+ " THEN 1"
|
||||
+ " WHEN di.ins_srtcontrole_eenheid > 0 AND"
|
||||
+ " idsc.ins_deelsrtcontrole_plandatum IS NOT NULL AND"
|
||||
+ " TRUNC (idsc.ins_deelsrtcontrole_plandatum, 'DDD') >= TRUNC (SYSDATE, 'DDD')"
|
||||
+ " THEN 1"
|
||||
+ " ELSE NULL"
|
||||
+ " END inspectie_steps"
|
||||
+ " , CASE"
|
||||
+ " WHEN idsc.ins_deelsrtcontrole_status < 5"
|
||||
+ " THEN idsc.ins_deelsrtcontrole_datum_org"
|
||||
+ " ELSE TO_DATE (NULL)"
|
||||
+ " END inspectie_next"
|
||||
+ " , di.ins_srtcontroledl_xcp_startdat"
|
||||
+ " , idsc.ins_srtcontrole_key"
|
||||
+ " , " + lcl.xsqla('di.ins_srtcontrole_omschrijving', 'di.ins_srtcontrole_key')
|
||||
+ " , di.ins_srtcontrole_groep"
|
||||
+ " , di.ins_srtcontrole_opmerking"
|
||||
+ " , idsc.ins_deelsrtcontrole_key"
|
||||
+ " , di.ins_srtcontrole_periode periode"
|
||||
+ " , di.ins_srtcontrole_eenheid eenheid"
|
||||
+ " , di.ins_srtcontrole_kosten kosten"
|
||||
+ " , di.ins_srtcontrole_mode isc_mode"
|
||||
+ " , idsc.ins_deelsrtcontrole_plandatum plandatum"
|
||||
+ " , idsc.ins_deelsrtcontrole_opmerking"
|
||||
+ " , " + S("prs_pers_string") + " inspecteur"
|
||||
+ " , di.ctr_controle_type"
|
||||
+ " , idsc.ins_deelsrtcontrole_status"
|
||||
+ " , di.ins_srtcontrole_eind inspectie_eind"
|
||||
+ " , di.ins_srtcontrole_options options"
|
||||
+ " , cm.ins_controlemode_success ins_controlemode_success"
|
||||
+ " FROM ins_v_defined_inspect_xcp di"
|
||||
+ " , ins_deelsrtcontrole idsc"
|
||||
+ " , prs_perslid p"
|
||||
+ " , ins_controlemode cm"
|
||||
+ " WHERE idsc.ins_srtcontrole_key = di.ins_srtcontrole_key"
|
||||
+ " AND idsc.ins_deel_key = di.ins_deel_key"
|
||||
+ " AND idsc.prs_perslid_key = p.prs_perslid_key(+)"
|
||||
+ " AND idsc.ins_controlemode_key = cm.ins_controlemode_key(+)"
|
||||
+ " AND di.ins_deel_key = " + ins_key
|
||||
+ " AND di.ins_srtcontrole_periode > 0" // Als de periode 0 is dan de inspecties die gaan komen niet meer tonen.
|
||||
+ " AND di.ctr_discipline_key IN (SELECT w.ins_discipline_key"
|
||||
+ " FROM fac_v_webgebruiker w"
|
||||
+ " , fac_functie f"
|
||||
+ " WHERE w.fac_functie_key = f.fac_functie_key "
|
||||
+ " AND f.fac_functie_code = 'WEB_CTRUSE'"
|
||||
+ " AND w.fac_gebruiker_prs_level_read < 9"
|
||||
+ " AND w.fac_gebruiker_alg_level_read < 9"
|
||||
+ " AND w.prs_perslid_key = " + user_key + ")"
|
||||
// Gedaande inspectie altijd tonen.
|
||||
+ " )"
|
||||
+ " ORDER BY seq, ins_deelsrtcontrole_key DESC, ins_deelsrtcontrole_datum DESC, inspectie_org DESC, inspectie_next, ins_srtcontrole_omschrijving";
|
||||
var sql = insp.list_sql(ins_key, {past: true, future: true});
|
||||
|
||||
function fnrowData(oRs)
|
||||
{
|
||||
|
||||
@@ -3,9 +3,6 @@
|
||||
$Id$
|
||||
*/
|
||||
%>
|
||||
<!-- #include file="../PRS/prs.inc" -->
|
||||
<!-- #include file="../Shared/discx3d.inc" -->
|
||||
<!-- #include file="../Shared/getkenmerksql.inc" -->
|
||||
<%
|
||||
|
||||
insp = {
|
||||
@@ -16,10 +16,10 @@
|
||||
<!-- #include file="../mld/mld.inc" -->
|
||||
<!-- #include file="../ins/ins.inc" -->
|
||||
<!-- #include file="../ins/ins_flexkenmerksrtcontrole.inc" -->
|
||||
<!-- #include file="../ins/ins_inspect_list.inc" -->
|
||||
<!-- #include file="./mobile.inc" -->
|
||||
<!-- #include file="./iface.inc" -->
|
||||
<!-- #include file="./resultset_table.inc" -->
|
||||
<!-- #include file="./ins_inspect.inc" -->
|
||||
<!-- #include file="../Shared/json2.js" -->
|
||||
|
||||
<%
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
<!-- #include file="./mobile.inc" -->
|
||||
<!-- #include file="./iface.inc" -->
|
||||
<!-- #include file="./resultset_table.inc" -->
|
||||
<!-- #include file="./ins_inspect.inc" -->
|
||||
<!-- #include file="../Shared/json2.js" -->
|
||||
|
||||
<%
|
||||
@@ -37,7 +36,7 @@ var deelsrtcontrole = { deelsrtcontrole_key: getQParamInt("deelsrtcontrole_key")
|
||||
<body>
|
||||
<%
|
||||
PAGE_START();
|
||||
HEADER({title: L("ins_srtcontrole"), back:!qrc});
|
||||
HEADER({title: L("ins_srtcontrole"), back:!qrc, home: !qrc});
|
||||
CONTENT_START();
|
||||
var sql = "SELECT idsc.ins_deelsrtcontrole_datum"
|
||||
+ " , idsc.ins_deelsrtcontrole_opmerking"
|
||||
|
||||
Reference in New Issue
Block a user