FSN#40699 onderdrukt L(lcl_no_objects) indien er wel verbruiksartikelen zijn gereserveerd

svn path=/Website/trunk/; revision=35095
This commit is contained in:
2017-08-25 12:19:10 +00:00
parent f421b087e4
commit 510edf22ec

View File

@@ -204,95 +204,95 @@ var resdeleted = this_res.rsv_ruimte_verwijder != null;
return data;
}
var sql = "SELECT "+ lcl.xsqla('rd.res_deel_omschrijving', 'rd.res_deel_key')
+ " , id.ins_alg_ruimte_key_org"
+ " , id.ins_deel_key"
+ " , id.ins_discipline_key"
+ " , ins_srtdeel_uitleenbaar"
+ " , rd.res_discipline_key"
+ " , rrd.res_rsv_deel_key"
+ " , rrd.res_rsv_deel_aantal"
+ " , res.getdeelprijs(rrd.res_rsv_deel_key) res_rsv_deel_prijs"
+ " , rrd.res_rsv_deel_van"
+ " , rrd.res_rsv_deel_tot"
+ " , rrd.res_rsv_deel_dirtlevel"
+ " , CASE WHEN k.km900 > 0 THEN 1 ELSE 0 END bewerkbaar"
+ " , rrd.res_rsv_deel_verwijder ddVerwijder"
+ " , CASE "
+ " WHEN (rrd.res_rsv_deel_van BETWEEN res_rsv_ruimte_van "
+ " AND res_rsv_ruimte_tot "
+ " ) "
+ " THEN 1 "
+ " ELSE 0 "
+ " END vanbinnentijd, "
+ " CASE "
+ " WHEN (rrd.res_rsv_deel_tot BETWEEN res_rsv_ruimte_van "
+ " AND res_rsv_ruimte_tot "
+ " ) "
+ " THEN 1 "
+ " ELSE 0 "
+ " END totbinnentijd"
+ " , res_rsv_deel_dirtlevel"
+ " , CASE WHEN id.ins_alg_ruimte_type_org IS NOT NULL AND ins_alg_ruimte_type = 'P'"
+ " THEN (SELECT " + S("prs_pers_string")
+ " FROM prs_perslid p"
+ " WHERE p.prs_perslid_key = id.ins_alg_ruimte_key)" // TODO: Ondersteuning contactpersonen?
+ " WHEN id.ins_alg_ruimte_type_org IS NOT NULL AND ins_alg_ruimte_type = 'C'"
+ " THEN (SELECT c.prs_contactpersoon_naam"
+ " FROM prs_contactpersoon c"
+ " WHERE id.ins_alg_ruimte_key = c.prs_contactpersoon_key)"
+ " END eigenaar"
+ " , COALESCE (ks.prs_kostensoort_btw, 0) inclbtw"
+ ", CASE"
+ " WHEN (rd.res_deel_vervaldatum IS NULL OR rd.res_deel_vervaldatum > rr.res_rsv_ruimte_tot)"
+ " THEN 1"
+ " ELSE 0"
+ " END verval"
+ " FROM res_rsv_deel rrd"
+ " , res_rsv_ruimte rr"
+ " , res_deel rd"
+ " , res_discipline d"
+ " , prs_kostensoort ks"
+ " , ins_deel id"
+ " , ins_srtdeel isd"
+ " , ( 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"
+ " WHERE rrd.res_rsv_ruimte_key = rr.res_rsv_ruimte_key"
+ " AND rr.res_rsv_ruimte_key = " + rsv_ruimte_key
+ " AND id.ins_deel_key = rd.res_ins_deel_key"
+ " AND rrd.res_deel_key = rd.res_deel_key"
+ " AND ks.prs_kostensoort_key(+) = d.prs_kostensoort_key"
+ " AND d.ins_discipline_key = rd.res_discipline_key"
+ " AND id.ins_srtdeel_key = isd.ins_srtdeel_key"
+ (S("vis_parking_key") != -1 ? " AND rd.res_discipline_key != " + S("vis_parking_key") : "")
+ (!resdeleted? " AND rrd.res_rsv_deel_verwijder IS NULL" : "")
+ " AND isd.ins_srtdeel_key = k.ins_srtdeel_key(+)"
+ " ORDER BY ins_discipline_volgnr, 1";
var sql1 = "SELECT "+ lcl.xsqla('rd.res_deel_omschrijving', 'rd.res_deel_key')
+ " , id.ins_alg_ruimte_key_org"
+ " , id.ins_deel_key"
+ " , id.ins_discipline_key"
+ " , ins_srtdeel_uitleenbaar"
+ " , rd.res_discipline_key"
+ " , rrd.res_rsv_deel_key"
+ " , rrd.res_rsv_deel_aantal"
+ " , res.getdeelprijs(rrd.res_rsv_deel_key) res_rsv_deel_prijs"
+ " , rrd.res_rsv_deel_van"
+ " , rrd.res_rsv_deel_tot"
+ " , rrd.res_rsv_deel_dirtlevel"
+ " , CASE WHEN k.km900 > 0 THEN 1 ELSE 0 END bewerkbaar"
+ " , rrd.res_rsv_deel_verwijder ddVerwijder"
+ " , CASE "
+ " WHEN (rrd.res_rsv_deel_van BETWEEN res_rsv_ruimte_van "
+ " AND res_rsv_ruimte_tot "
+ " ) "
+ " THEN 1 "
+ " ELSE 0 "
+ " END vanbinnentijd, "
+ " CASE "
+ " WHEN (rrd.res_rsv_deel_tot BETWEEN res_rsv_ruimte_van "
+ " AND res_rsv_ruimte_tot "
+ " ) "
+ " THEN 1 "
+ " ELSE 0 "
+ " END totbinnentijd"
+ " , res_rsv_deel_dirtlevel"
+ " , CASE WHEN id.ins_alg_ruimte_type_org IS NOT NULL AND ins_alg_ruimte_type = 'P'"
+ " THEN (SELECT " + S("prs_pers_string")
+ " FROM prs_perslid p"
+ " WHERE p.prs_perslid_key = id.ins_alg_ruimte_key)" // TODO: Ondersteuning contactpersonen?
+ " WHEN id.ins_alg_ruimte_type_org IS NOT NULL AND ins_alg_ruimte_type = 'C'"
+ " THEN (SELECT c.prs_contactpersoon_naam"
+ " FROM prs_contactpersoon c"
+ " WHERE id.ins_alg_ruimte_key = c.prs_contactpersoon_key)"
+ " END eigenaar"
+ " , COALESCE (ks.prs_kostensoort_btw, 0) inclbtw"
+ ", CASE"
+ " WHEN (rd.res_deel_vervaldatum IS NULL OR rd.res_deel_vervaldatum > rr.res_rsv_ruimte_tot)"
+ " THEN 1"
+ " ELSE 0"
+ " END verval"
+ " FROM res_rsv_deel rrd"
+ " , res_rsv_ruimte rr"
+ " , res_deel rd"
+ " , res_discipline d"
+ " , prs_kostensoort ks"
+ " , ins_deel id"
+ " , ins_srtdeel isd"
+ " , ( 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"
+ " WHERE rrd.res_rsv_ruimte_key = rr.res_rsv_ruimte_key"
+ " AND rr.res_rsv_ruimte_key = " + rsv_ruimte_key
+ " AND id.ins_deel_key = rd.res_ins_deel_key"
+ " AND rrd.res_deel_key = rd.res_deel_key"
+ " AND ks.prs_kostensoort_key(+) = d.prs_kostensoort_key"
+ " AND d.ins_discipline_key = rd.res_discipline_key"
+ " AND id.ins_srtdeel_key = isd.ins_srtdeel_key"
+ (S("vis_parking_key") != -1 ? " AND rd.res_discipline_key != " + S("vis_parking_key") : "")
+ (!resdeleted? " AND rrd.res_rsv_deel_verwijder IS NULL" : "")
+ " AND isd.ins_srtdeel_key = k.ins_srtdeel_key(+)"
+ " ORDER BY ins_discipline_volgnr, 1";
// Niet super efficient maar ach....
var oRs = Oracle.Execute("SELECT COUNT(*) FROM (" + sql + ") WHERE ins_srtdeel_uitleenbaar = 1" );
var oRs = Oracle.Execute("SELECT COUNT(*) FROM (" + sql1 + ") WHERE ins_srtdeel_uitleenbaar = 1" );
var ErisUitleenbaar = oRs(0).value > 0;
// Leesrechten WEB_INSFOF is grof maar beter dan niets
var showUitleenbaar = ErisUitleenbaar && user.checkAutorisation("WEB_INSFOF", true);
oRs.Close();
var rst1 = new ResultsetTable({sql: sql,
var rst1 = new ResultsetTable({sql: sql1,
rstableCount: 2,
rstableNr: 1,
keyColumn: "res_rsv_deel_key",
@@ -320,7 +320,6 @@ var resdeleted = this_res.rsv_ruimte_verwijder != null;
rst1.addAction({ action: "insCheckIn", caption: L("lcl_obj_receive"), enabler: "eReceive"});
rst1.addAction({ action: "insAdapt", caption: L("lcl_ins_adapt"), enabler: "eAdapt"});
}
var cnt1 = rst1.processResultset();
function fnArtikeltekst(oRs)
{
@@ -331,49 +330,59 @@ var resdeleted = this_res.rsv_ruimte_verwijder != null;
+ (!active_artikel? L("lcl_inactive_data_suffix") : "");
}
sql = "SELECT "+ lcl.xsqla('a.res_artikel_omschrijving','a.res_artikel_key')
+ ", "+ lcl.xsqla('a.res_artikel_eenheid','a.res_artikel_key')
+ ", ra.res_rsv_artikel_key"
+ ", ra.res_rsv_artikel_aantal"
+ ", res.getartikelprijs(ra.res_rsv_artikel_key) res_rsv_artikel_prijs"
+ ", ra.res_rsv_artikel_levering"
+ ", rr.res_rsv_ruimte_tot"
+ ", ra.res_rsv_artikel_verwijder ddVerwijder"
+ ", CASE "
+ " WHEN (ra.res_rsv_artikel_levering BETWEEN res_rsv_ruimte_van "
+ " AND res_rsv_ruimte_tot "
+ " ) "
+ " THEN 1 "
+ " ELSE 0 "
+ " END levbinnentijd"
+ ", res_rsv_artikel_dirtlevel"
+ ", COALESCE (ks.prs_kostensoort_btw, 0) inclbtw"
+ ", CASE"
+ " WHEN (a.res_artikel_ingangsdatum IS NULL OR a.res_artikel_ingangsdatum <= rr.res_rsv_ruimte_van)"
+ " THEN 1"
+ " ELSE 0"
+ " END ingang"
+ ", CASE"
+ " WHEN (a.res_artikel_vervaldatum IS NULL OR a.res_artikel_vervaldatum > rr.res_rsv_ruimte_van)"
+ " THEN 1"
+ " ELSE 0"
+ " END verval"
+ " FROM res_rsv_artikel ra"
+ ", res_rsv_ruimte rr"
+ ", res_artikel a"
+ ", res_discipline d"
+ ", prs_kostensoort ks"
+ " WHERE ra.res_rsv_ruimte_key = rr.res_rsv_ruimte_key"
+ " AND rr.res_rsv_ruimte_key = " + rsv_ruimte_key
+ " AND ra.res_artikel_key = a.res_artikel_key "
+ " AND ks.prs_kostensoort_key(+) = d.prs_kostensoort_key"
+ " AND d.ins_discipline_key = a.res_discipline_key"
+ (!resdeleted? " AND ra.res_rsv_artikel_verwijder IS NULL" : "")
+ " ORDER BY res_artikel_volgnummer"
+ ", " + lcl.xsql('res_artikel_omschrijving', 'a.res_artikel_key')
+ ", res_rsv_artikel_levering";
var sql2 = "SELECT "+ lcl.xsqla('a.res_artikel_omschrijving','a.res_artikel_key')
+ ", "+ lcl.xsqla('a.res_artikel_eenheid','a.res_artikel_key')
+ ", ra.res_rsv_artikel_key"
+ ", ra.res_rsv_artikel_aantal"
+ ", res.getartikelprijs(ra.res_rsv_artikel_key) res_rsv_artikel_prijs"
+ ", ra.res_rsv_artikel_levering"
+ ", rr.res_rsv_ruimte_tot"
+ ", ra.res_rsv_artikel_verwijder ddVerwijder"
+ ", CASE "
+ " WHEN (ra.res_rsv_artikel_levering BETWEEN res_rsv_ruimte_van "
+ " AND res_rsv_ruimte_tot "
+ " ) "
+ " THEN 1 "
+ " ELSE 0 "
+ " END levbinnentijd"
+ ", res_rsv_artikel_dirtlevel"
+ ", COALESCE (ks.prs_kostensoort_btw, 0) inclbtw"
+ ", CASE"
+ " WHEN (a.res_artikel_ingangsdatum IS NULL OR a.res_artikel_ingangsdatum <= rr.res_rsv_ruimte_van)"
+ " THEN 1"
+ " ELSE 0"
+ " END ingang"
+ ", CASE"
+ " WHEN (a.res_artikel_vervaldatum IS NULL OR a.res_artikel_vervaldatum > rr.res_rsv_ruimte_van)"
+ " THEN 1"
+ " ELSE 0"
+ " END verval"
+ " FROM res_rsv_artikel ra"
+ ", res_rsv_ruimte rr"
+ ", res_artikel a"
+ ", res_discipline d"
+ ", prs_kostensoort ks"
+ " WHERE ra.res_rsv_ruimte_key = rr.res_rsv_ruimte_key"
+ " AND rr.res_rsv_ruimte_key = " + rsv_ruimte_key
+ " AND ra.res_artikel_key = a.res_artikel_key "
+ " AND ks.prs_kostensoort_key(+) = d.prs_kostensoort_key"
+ " AND d.ins_discipline_key = a.res_discipline_key"
+ (!resdeleted? " AND ra.res_rsv_artikel_verwijder IS NULL" : "")
+ " ORDER BY res_artikel_volgnummer"
+ ", " + lcl.xsql('res_artikel_omschrijving', 'a.res_artikel_key')
+ ", res_rsv_artikel_levering";
var rst2 = new ResultsetTable({sql:sql,
// Niet super efficient maar ach....
var oRs = Oracle.Execute("SELECT 1 FROM (" + sql2 + ")" );
var rst2Empty = oRs.EoF;
oRs.Close();
if (!rst2Empty)
rst1.emptySetString = "";
var cnt1 = rst1.processResultset();
var rst2 = new ResultsetTable({sql:sql2,
rstableCount: 2,
rstableNr: 2,
keyColumn: "res_rsv_artikel_key",