FCLT#54221: Dubbele regels in MJOB scherm oorzaak error bij "Multi wijzigen taken".

svn path=/Website/branches/v2018.1/; revision=38688
This commit is contained in:
Maykel Geerdink
2018-08-01 11:23:01 +00:00
parent 4e27b7a76d
commit 03dbf4afc2

View File

@@ -3077,10 +3077,11 @@ ins = {checkAutLevel:
+ " , e.hasscenario2"
+ " , e.scenario_oms"
+ " , e.scenario_aantal"
+ " , c.ins_deelsrtcontrole_freezedate"
+ " , c.ins_deelsrtcontrole_freezecost"
// Alleen een c record (uitgevoerde inspecties) als er al een inspectie is geweest.
// Alleen een e record als er in de aangegeven periode een inpectie gepland is. Dus niet bij lege regels, vandaar COALESCE.
// Alleen een c record als er al een geplande, geaccordeerde of succesvol uitgevoerde inspectie is.
// Alleen een e record als er in de aangegeven periode een inpectie gepland is.
// Dus bij lege regels wordt daarom de COALESCE genomen.
+ " , COALESCE(c.ins_deelsrtcontrole_freezedate, e.ins_deelsrtcontrole_freezedate) ins_deelsrtcontrole_freezedate"
+ " , COALESCE(c.ins_deelsrtcontrole_freezecost, e.ins_deelsrtcontrole_freezecost) ins_deelsrtcontrole_freezecost"
+ " , COALESCE(c.ins_deelsrtcontrole_status, e.ins_deelsrtcontrole_status) ins_deelsrtcontrole_status"
+ " , COALESCE(c.plandatum, e.plandatum) plandatum" // Als er nog geen inspectie is, dan heeft c geen record en is c.plandatum NULL.
+ " , COALESCE(c.isPlanned, e.isPlanned) isPlanned"
@@ -3113,6 +3114,20 @@ ins = {checkAutLevel:
+ " , el.ins_srtcontrole_afbouwtijd"
+ " , el.prs_kostenplaats_key"
+ " , el.fin_btwtabelwaarde_key"
+ " , (SELECT MAX(ins_deelsrtcontrole_freezedate)" // Laatste freezedate.
+ " FROM ins_deelsrtcontrole id2"
+ " WHERE id2.ins_deel_key = el.ins_deel_key"
+ " AND id2.ins_srtcontrole_key = el.ins_srtcontrole_key"
+ " AND id2.ins_scenario_key = 1"
+ " AND id2.ins_deelsrtcontrole_status = 6) ins_deelsrtcontrole_freezedate"
+ " , (SELECT id2.ins_deelsrtcontrole_freezecost" // Laatste freezecost.
+ " FROM ins_deelsrtcontrole id2"
+ " WHERE id2.ins_deelsrtcontrole_key = (SELECT MAX(ins_deelsrtcontrole_key)"
+ " FROM ins_deelsrtcontrole id3"
+ " WHERE id3.ins_deel_key = el.ins_deel_key"
+ " AND id3.ins_srtcontrole_key = el.ins_srtcontrole_key"
+ " AND id3.ins_scenario_key = 1"
+ " AND id3.ins_deelsrtcontrole_status = 6)) ins_deelsrtcontrole_freezecost"
// Deze ins_deelsrtcontrole_status wordt later alleen gebruikt indien er geen uitgevoerde taak is.
// Status is dus NULL of de status van een lopende inspectie (0, 2 of 5).
+ " , CASE"