FSN#40699 onderdrukt L(lcl_no_objects) indien er wel verbruiksartikelen zijn gereserveerd
svn path=/Website/trunk/; revision=35095
This commit is contained in:
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user