FSN#35534 berekende oppervlakte tonen bij verdiepingen en gebouwen

svn path=/Website/trunk/; revision=28226
This commit is contained in:
Ruud Lipper
2016-02-19 12:19:26 +00:00
parent b293eb3a3c
commit 913d80e4c8
6 changed files with 45 additions and 17 deletions

View File

@@ -388,6 +388,21 @@ alg = {
aresult.canPRSBOFwrite = aresult.canWrite("WEB_PRSBOF"); // werkplekbeheer
return aresult;
}
}
},
calc_bldm2: function _calc_bldm2()
{
sql = "SELECT SUM (alg_ruimte_bruto_vloeropp) opp"
+ " FROM alg_ruimte r, alg_verdieping v"
+ " WHERE r.alg_verdieping_key = v.alg_verdieping_key"
+ " AND r.alg_ruimte_verwijder IS NULL"
+ " AND v.alg_verdieping_verwijder IS NULL"
+ " AND v.alg_gebouw_key =" + bld_key;
oRs = Oracle.Execute(sql);
var bldm2 = oRs("opp").Value;
oRs.Close();
return bldm2;
}
}
%>

View File

@@ -163,7 +163,12 @@ else
BLOCK_END();
BLOCK_START("algLoc2", "");
manRWFIELD("bld_opp", "fld", L("lcl_estate_gebouw_man_bruto_vloeropp"), bld_opp, {maxlength: 15});
if (bld_key > 0)
{
var calcm2 = alg.calc_bldm2();
ROFIELDTR("fld", L("lcl_estate_calc_vloeropp"), calcm2, {suppressEmpty: true});
}
manRWFIELD("bld_opp", "fld float", L("lcl_estate_gebouw_man_bruto_vloeropp"), bld_opp, {datatype:"float", maxlength: 15});
manRWFIELD("bld_omtrek", "fld", L("lcl_estate_gebouw_man_omtrek"), bld_omtrek, {maxlength: 15});
manRWFIELD("bld_inhoud", "fld", L("lcl_estate_gebouw_man_inhoud"), bld_inhoud, {maxlength: 15});
sql = "SELECT mld_adres_key"

View File

@@ -36,7 +36,7 @@ user.auth_required_or_abort(this_alg.writeman || (bld_key>0&&this_alg.writeuse))
{ dbs: "alg_gebouw_omschrijving", typ: "varchar", frm: "bld_descr" },
{ dbs: "alg_gebouw_email", typ: "varchar", frm: "bld_email" },
{ dbs: "alg_gebouw_getekend", typ: "date", frm: "bld_teken" },
{ dbs: "alg_gebouw_bruto_vloeropp", typ: "number", frm: "bld_opp" },
{ dbs: "alg_gebouw_bruto_vloeropp", typ: "float", frm: "bld_opp" },
{ dbs: "alg_gebouw_omtrek", typ: "number", frm: "bld_omtrek" },
{ dbs: "alg_gebouw_inhoud", typ: "number", frm: "bld_inhoud" },
{ dbs: "alg_gebouw_opmerking", typ: "varchar", frm: "bld_opmerk" },

View File

@@ -123,7 +123,7 @@ function gebouw_list(pautfunction, params)
+ " , g.alg_gebouw_code"
+ " , g.alg_gebouw_naam"
+ " , g.alg_gebouw_opmerking"
+ " , g.alg_gebouw_bruto_vloeropp"
+ " , coalesce (g.alg_gebouw_bruto_vloeropp, gm2.opp) bvo"
+ " , g.alg_gebouw_omtrek"
+ " , g.alg_gebouw_inhoud"
+ " , g.alg_gebouw_x"
@@ -131,8 +131,15 @@ function gebouw_list(pautfunction, params)
+ " FROM alg_v_aanweziggebouw g"
+ " , alg_locatie l"
+ " , alg_srtgebouw s"
+ " , ( SELECT alg_gebouw_key, SUM (alg_ruimte_bruto_vloeropp) opp"
+ " FROM alg_ruimte r, alg_verdieping v"
+ " WHERE r.alg_verdieping_key = v.alg_verdieping_key"
+ " AND r.alg_ruimte_verwijder IS NULL"
+ " AND v.alg_verdieping_verwijder IS NULL"
+ " GROUP BY alg_gebouw_key) gm2"
+ " WHERE l.alg_locatie_key(+) = g.alg_locatie_key"
+ " AND s.alg_srtgebouw_key(+) = g.alg_srtgebouw_key"
+ " AND gm2.alg_gebouw_key(+) = g.alg_gebouw_key"
+ " AND g.alg_gebouw_verwijder IS NULL";
if ( authparams.ALGreadlevel > -1 )
@@ -190,7 +197,7 @@ function gebouw_list(pautfunction, params)
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_man_code"), content: "alg_gebouw_code"}));
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_man_name"), content: "alg_gebouw_naam" }));
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_srtgebouw"), content: "alg_srtgebouw_omschrijving"}));
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_man_bruto_vloeropp"), content: "alg_gebouw_bruto_vloeropp"}));
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_man_bruto_vloeropp"), content: "bvo", datatype: "float", decimals: 2}));
if (outputmode != 0)
{

View File

@@ -28,6 +28,7 @@ var bld_key = getQParamInt("bld_key");
var onrgoedlvl = "G";
var this_alg = alg.func_enabled(bld_key, onrgoedlvl);
user.auth_required_or_abort(this_alg.readman || this_alg.readuse);
var calcm2 = alg.calc_bldm2();
var sql = " SELECT * "
+ " FROM alg_gebouw "
@@ -163,15 +164,9 @@ oRs.Close();
BLOCK_END();
BLOCK_START("algLoc2", "");
sql = "SELECT SUM (alg_ruimte_bruto_vloeropp) opp"
+ " FROM alg_ruimte r, alg_verdieping v"
+ " WHERE r.alg_verdieping_key = v.alg_verdieping_key"
+ " AND r.alg_ruimte_verwijder IS NULL"
+ " AND v.alg_verdieping_verwijder IS NULL"
+ " AND v.alg_gebouw_key =" + bld_key;
oRs = Oracle.Execute(sql);
ROFIELDTR("fld", L("lcl_estate_calc_vloeropp"), oRs("opp").value, {suppressEmpty: true});
oRs.Close();
if (calcm2 != bld_opp)
ROFIELDTR("fld", L("lcl_estate_calc_vloeropp"), calcm2, {suppressEmpty: true});
ROFIELDTR("fld", L("lcl_estate_gebouw_man_bruto_vloeropp"), bld_opp, {suppressEmpty: true});
ROFIELDTR("fld", L("lcl_estate_gebouw_man_omtrek"), bld_omtrek, {suppressEmpty: true});
ROFIELDTR("fld", L("lcl_estate_gebouw_man_inhoud"), bld_inhoud, {suppressEmpty: true});

View File

@@ -118,12 +118,17 @@ function verdiepingen_list(pautfunction, params)
+ " l.alg_locatie_omschrijving, "
+ " g.alg_gebouw_omschrijving, "
+ " v.alg_verdieping_omschrijving, "
+ " v.alg_verdieping_code "
+ " v.alg_verdieping_code, "
+ " vm2.opp "
+ " FROM alg_v_aanwezigverdieping v, "
+ " alg_gebouw g, "
+ " alg_locatie l "
+ " alg_locatie l, "
+ " ( SELECT alg_verdieping_key, SUM (alg_ruimte_bruto_vloeropp) opp "
+ " FROM alg_v_aanwezigruimte "
+ " GROUP BY alg_verdieping_key) vm2 "
+ " WHERE g.alg_gebouw_key = v.alg_gebouw_key "
+ " AND l.alg_locatie_key(+) = g.alg_locatie_key "
+ " AND vm2.alg_verdieping_key(+) = v.alg_verdieping_key "
+ " AND v.alg_verdieping_verwijder IS NULL "
if ( authparams.ALGreadlevel > -1 )
@@ -183,6 +188,7 @@ function verdiepingen_list(pautfunction, params)
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_man_descr"), content: "alg_gebouw_omschrijving"}));
rst.addColumn(new Column({caption: L("lcl_estate_verdieping_man_code"), content: "alg_verdieping_code"}));
rst.addColumn(new Column({caption: L("lcl_estate_verdieping_man_descr"), content: "alg_verdieping_omschrijving" }));
rst.addColumn(new Column({caption: L("lcl_estate_calc_vloeropp"), content: "opp", datatype: "float", decimals: 2}));
rst.addAction({ action: "verdiepingEdit", caption: L("lcl_edit"), isDefault: true});
rst.addAction({ action: "doDelete", caption: L("lcl_delete"), enabler: "eDelete", single: !noref, multi: true, multiOnce: true});