diff --git a/APPL/INS/ins_list.inc b/APPL/INS/ins_list.inc index 960826b8d5..360e7cc204 100644 --- a/APPL/INS/ins_list.inc +++ b/APPL/INS/ins_list.inc @@ -636,23 +636,31 @@ function ins_list (pautfunction, params) } } + var sqlKenmerkBewerkbaar_select = ", CASE WHEN k.km900>0 THEN 1 ELSE 0 END bewerkbaar"; + var sqlKenmerkBewerkbaar_from = "( SELECT sd.ins_srtdeel_key" + + " , COUNT (km.ins_kenmerk_volgnummer) km900" + + " FROM ins_srtkenmerk sk" + + " , ins_kenmerk km" + + " , ins_srtdeel sd" + + " , ins_srtgroep gr" + + " WHERE km.ins_srtkenmerk_key = sk.ins_srtkenmerk_key" + + " AND gr.ins_srtgroep_key = sd.ins_srtgroep_key" + + " AND km.ins_kenmerk_verwijder IS NULL" + + " AND sk.ins_srtkenmerk_verwijder IS NULL" + + " AND ( ( km.ins_srtinstallatie_key = sd.ins_srtdeel_key" + + " AND km.ins_kenmerk_niveau = 'S')" + + " OR ( km.ins_srtinstallatie_key = sd.ins_srtgroep_key" + + " AND km.ins_kenmerk_niveau = 'G')" + + " OR ( km.ins_srtinstallatie_key = gr.ins_discipline_key" + + " AND km.ins_kenmerk_niveau = 'D'))" + + " AND km.ins_kenmerk_volgnummer >= 900" + + "GROUP BY sd.ins_srtdeel_key) k"; + var sqlKenmerkBewerkbaar_where = " AND i.ins_srtdeel_key = k.ins_srtdeel_key(+)"; + // Dit betekent dus dat de feitelijke eigenaar dus als de normale eigenaar wordt beschouwd // d.i. de lener == de eigenaar ! if (!hasPosition || fronto) { // Position filter would imply only place-objects - selectKenmerkBewerkbaar = ", CASE WHEN k.km900>0 THEN 1 ELSE 0 END bewerkbaar"; - selectKenmerkBewerkbaarEmpty = ", 0 bewerkbaar"; - - fromKenmerkBewerkbaar = "( SELECT id.ins_deel_key" - + " , COUNT(km.ins_kenmerk_volgnummer) km900" - + " FROM ins_deel id" - + " , ins_kenmerkdeel kd" - + " , ins_kenmerk km" - + " WHERE kd.ins_deel_key(+) = id.ins_deel_key" - + " AND km.ins_kenmerk_key(+) = kd.ins_kenmerk_key" - + " AND km.ins_kenmerk_volgnummer > 900" - + " GROUP BY id.ins_deel_key) k"; - whereKenmerkBewerkbaar = " AND i.ins_deel_key = k.ins_deel_key(+)"; sqlOwner_select = "SELECT TO_CHAR(NULL) plaats" + ", s.ins_srtdeel_code" @@ -731,7 +739,7 @@ function ins_list (pautfunction, params) } sqlOwnerA = sqlOwner_select - + selectKenmerkBewerkbaarEmpty + + sqlKenmerkBewerkbaar_select + ", b.prs_bedrijf_key prs_bedrijf_key" // bedrijf key + ", d.prs_afdeling_key1" + ", (SELECT " + S("prs_dep_string") + " FROM prs_v_afdeling d WHERE prs_afdeling_key = i.ins_alg_ruimte_key) eigenaar" @@ -744,14 +752,16 @@ function ins_list (pautfunction, params) + sqlOwner_from + ", prs_v_afdeling_boom d" + ", prs_bedrijf b" + + ", " + sqlKenmerkBewerkbaar_from + (koppel_key? ", ins_deelkoppeling idk" : "") + sqlOwner_where + + sqlKenmerkBewerkbaar_where + " AND i.ins_alg_ruimte_key = d.prs_afdeling_key" + " AND d.prs_bedrijf_key = b.prs_bedrijf_key" + " AND i.ins_alg_ruimte_type = 'A'"; sqlOwnerP = sqlOwner_select - + selectKenmerkBewerkbaar + + sqlKenmerkBewerkbaar_select + ", b.prs_bedrijf_key prs_bedrijf_key " // bedrijf key + ", d.prs_afdeling_key1" + ", " + S("prs_pers_string") + " eigenaar" @@ -765,17 +775,17 @@ function ins_list (pautfunction, params) + ", prs_perslid p" + ", prs_v_afdeling_boom d" + ", prs_bedrijf b" - + ", " +fromKenmerkBewerkbaar + + ", " + sqlKenmerkBewerkbaar_from + (koppel_key? ", ins_deelkoppeling idk" : "") + sqlOwner_where - + whereKenmerkBewerkbaar + + sqlKenmerkBewerkbaar_where + " AND i.ins_alg_ruimte_key = p.prs_perslid_key" + " AND p.prs_afdeling_key = d.prs_afdeling_key" + " AND d.prs_bedrijf_key = b.prs_bedrijf_key" + " AND i.ins_alg_ruimte_type = 'P'"; sqlOwnerCP = sqlOwner_select - + selectKenmerkBewerkbaarEmpty + + sqlKenmerkBewerkbaar_select + ", (SELECT c.prs_bedrijf_key FROM prs_contactpersoon c WHERE c.prs_contactpersoon_key = i.ins_alg_ruimte_key) prs_bedrijf_key" // bedrijf key + ", 0 dummy1" // department key + ", c.prs_contactpersoon_naam eigenaar" @@ -788,8 +798,10 @@ function ins_list (pautfunction, params) + sqlOwner_from + ", prs_contactpersoon c" + ", prs_bedrijf b" + + ", " + sqlKenmerkBewerkbaar_from + (koppel_key? ", ins_deelkoppeling idk" : "") + sqlOwner_where + + sqlKenmerkBewerkbaar_where + " AND i.ins_alg_ruimte_key = c.prs_contactpersoon_key" + " AND c.prs_bedrijf_key = b.prs_bedrijf_key" + " AND i.ins_alg_ruimte_type = 'C'"; @@ -838,7 +850,7 @@ function ins_list (pautfunction, params) + ", rd.res_deel_key" + ", rd.res_deel_opmerking" + ", i.ins_deel_vervaldatum" - + selectKenmerkBewerkbaarEmpty + + sqlKenmerkBewerkbaar_select + ", null prs_bedrijf_key" + ", null prs_afdeling_key1" + ", null eigenaar" @@ -855,6 +867,7 @@ function ins_list (pautfunction, params) + ", ins_srtdeel s" + sqlInspectie_from + ", alg_locatie l" + + ", " + sqlKenmerkBewerkbaar_from + (koppel_key? ", ins_deelkoppeling idk" : "") + ", alg_district di" // I added this for alg_district_key (FSN#1082) + ", (SELECT res_deel_key" @@ -876,6 +889,7 @@ function ins_list (pautfunction, params) + " AND s.ins_srtgroep_key NOT IN (" + S("sle_ins_srt_groep_key") + ", " + S("cil_ins_srt_groep_key") + ")" + sql_objincl + sqlInspectie_where + + sqlKenmerkBewerkbaar_where + (terr_key ? " AND t.alg_terreinsector_key = i.ins_alg_ruimte_key" + " AND i.ins_alg_ruimte_type = 'T'" @@ -1325,7 +1339,7 @@ function ins_list (pautfunction, params) { eLendOut = oRs("ins_alg_ruimte_key_org").value == null; eReceive = !eLendOut; - eAdapt = oRs("bewerkbaar").Value == 1; + eAdapt = eReceive && (oRs("bewerkbaar").Value == 1); } var eDelete = false; var eEdit = true; // Indien enigste actie dan wordt de actie niet getoond en is het de default actie op de hele regel