NYBU#32942: Tracken doorvoeren tekeningen.

svn path=/Website/trunk/; revision=25369
This commit is contained in:
Maykel Geerdink
2015-06-03 12:00:45 +00:00
parent e759bea48f
commit aed022c35d
2 changed files with 80 additions and 40 deletions

View File

@@ -39,16 +39,16 @@ var inoutMode = bttype == "T"? MODE_OUT : MODE_IN;
var hasConcept = false;
if (floor_key > 0 || (building_key > 1 && bttype == "T")) // alvast een en ander bepalen
{
sql = "SELECT cad_tekening_key,"
sql += " cad_tekening_filenaam,"
sql += " cad_tekening_key"
sql += " FROM cad_tekening ct"
sql += " WHERE cad_tekening_verwijder IS NULL"
sql += " AND cad_tekening_type = 'P'"
sql += (floor_key > 0
? " AND ct.alg_verdieping_key = " + floor_key
: " AND ct.alg_locatie_key = " + location_key
+ " AND ct.alg_verdieping_key IS NULL");
var sql = "SELECT cad_tekening_key"
+ " , cad_tekening_filenaam"
+ " , cad_tekening_key"
+ " FROM cad_tekening ct"
+ " WHERE cad_tekening_verwijder IS NULL"
+ " AND cad_tekening_type = 'P'"
+ (floor_key > 0
? " AND ct.alg_verdieping_key = " + floor_key
: " AND ct.alg_locatie_key = " + location_key
+ " AND ct.alg_verdieping_key IS NULL");
oRs = Oracle.Execute(sql);
var cad_tek_key = oRs("cad_tekening_key").value;
var fname = oRs("cad_tekening_filenaam").value;
@@ -58,6 +58,7 @@ if (floor_key > 0 || (building_key > 1 && bttype == "T")) // alvast een en ander
var fullnameConcept = S("fg_dwf_path_concept") + fname + ".dwf";
var fso = new ActiveXObject("Scripting.FileSystemObject");
hasConcept = fso.FileExists(fullnameConcept);
oRs.Close();
}
%>
<html>
@@ -98,40 +99,76 @@ if (floor_key > 0 || (building_key > 1 && bttype == "T")) // alvast een en ander
{
if (doorvoeren_opp) // altijd actuele opp naar alg_ruimte opp. Heeft niets met concepten te maken
{
sql_select = " FROM " + S("fg_syncruimteview") + " r, "
+ " alg_verdieping v, "
+ " alg_gebouw g, "
+ " alg_locatie l, "
+ " cad_imp_contour c, "
+ " cad_tekening t "
+ " WHERE cad_imp_contour_concept = 0 "
+ " AND v.alg_verdieping_key = r.alg_verdieping_key "
+ " AND g.alg_gebouw_key = v.alg_gebouw_key "
+ " AND l.alg_locatie_key = g.alg_locatie_key "
+ " AND t.alg_verdieping_key = r.alg_verdieping_key "
+ " AND c.cad_tekening_key = t.cad_tekening_key "
+ " AND c.cad_imp_contour_nr = r.cadlabel "
+ " AND r.alg_ruimte_key = ru.alg_ruimte_key "
var sql_select_from = " FROM " + S("fg_syncruimteview") + " r"
+ " , alg_verdieping v"
+ " , alg_gebouw g"
+ " , alg_locatie l"
+ " , cad_imp_contour c"
+ " , cad_tekening t";
sql_select += (location_key > -1)? " AND g.alg_locatie_key = " + location_key : "";
sql_select += (building_key > -1)? " AND v.alg_gebouw_key = " + building_key : "";
sql_select += (floor_key > -1)? " AND v.alg_verdieping_key = " + floor_key : "";
sql_select += ")";
var sql_select_where = " WHERE cad_imp_contour_concept = 0"
+ " AND v.alg_verdieping_key = r.alg_verdieping_key"
+ " AND g.alg_gebouw_key = v.alg_gebouw_key"
+ " AND l.alg_locatie_key = g.alg_locatie_key"
+ " AND t.alg_verdieping_key = r.alg_verdieping_key"
+ " AND c.cad_tekening_key = t.cad_tekening_key"
+ " AND c.cad_imp_contour_nr = r.cadlabel"
+ " AND r.alg_ruimte_key = ru.alg_ruimte_key"
+ (location_key > -1
? " AND g.alg_locatie_key = " + location_key
: "")
+ (building_key > -1
? " AND v.alg_gebouw_key = " + building_key
: "")
+ (floor_key > -1
? " AND v.alg_verdieping_key = " + floor_key
: "");
sql = "UPDATE alg_ruimte ru "
+ " SET ru.alg_ruimte_bruto_vloeropp = (SELECT c.cad_imp_contour_opp " + sql_select
+ " WHERE exists (SELECT c.cad_imp_contour_opp " + sql_select;
oRs = Oracle.Execute(sql);
sql = "UPDATE alg_ruimte ru "
+ " SET ru.alg_ruimte_opp_alt1 = (SELECT c.cad_imp_contour_opp_alt1 " + sql_select
+ " WHERE exists (SELECT c.cad_imp_contour_opp_alt1 " + sql_select;
oRs = Oracle.Execute(sql);
var sql_tracking = "SELECT ru.alg_ruimte_key"
+ " , r.cadlabel"
+ " , ru.alg_ruimte_bruto_vloeropp"
+ " , c.cad_imp_contour_opp"
+ " , ru.alg_ruimte_opp_alt1"
+ " , c.cad_imp_contour_opp_alt1"
+ " , ru.alg_ruimte_opp_alt2"
+ " , c.cad_imp_contour_opp_alt2"
+ sql_select_from
+ " , alg_ruimte ru"
+ sql_select_where;
var oRs_tracking = Oracle.Execute(sql_tracking);
sql = "UPDATE alg_ruimte ru "
+ " SET ru.alg_ruimte_opp_alt2 = (SELECT c.cad_imp_contour_opp_alt2 " + sql_select
+ " WHERE exists (SELECT c.cad_imp_contour_opp_alt2 " + sql_select;
oRs = Oracle.Execute(sql);
while (!oRs_tracking.eof)
{
var trackarray = [];
if (oRs_tracking("alg_ruimte_bruto_vloeropp").Value != oRs_tracking("cad_imp_contour_opp").Value)
trackarray.push(L("lcl_estate_ruimte_bruto_vloeropp") + ": " + oRs_tracking("alg_ruimte_bruto_vloeropp").Value + " => " + oRs_tracking("cad_imp_contour_opp").Value);
if (oRs_tracking("alg_ruimte_opp_alt1").Value != oRs_tracking("cad_imp_contour_opp_alt1").Value)
trackarray.push(L("lcl_estate_ruimte_opp_alt1") + ": " + oRs_tracking("alg_ruimte_opp_alt1").Value + " => " + oRs_tracking("cad_imp_contour_opp_alt1").Value);
if (oRs_tracking("alg_ruimte_opp_alt2").Value != oRs_tracking("cad_imp_contour_opp_alt2").Value)
trackarray.push(L("lcl_estate_ruimte_opp_alt2") + ": " + oRs_tracking("alg_ruimte_opp_alt2").Value + " => " + oRs_tracking("cad_imp_contour_opp_alt2").Value);
if (trackarray.length > 0)
// Wijzigingen van deze ruimte tracken.
shared.trackaction("ALGRUP",
oRs_tracking("alg_ruimte_key").Value,
L("lcl_alg_is_algrup") + "\n" + trackarray.join("\n"));
oRs_tracking.MoveNext();
}
oRs_tracking.close();
var sql_update_select = "SELECT c.cad_imp_contour_opp"
+ " , c.cad_imp_contour_opp_alt1"
+ " , c.cad_imp_contour_opp_alt2"
+ sql_select_from
+ sql_select_where;
var sql_update = "UPDATE alg_ruimte ru "
+ " SET (ru.alg_ruimte_bruto_vloeropp"
+ " , ru.alg_ruimte_opp_alt1"
+ " , ru.alg_ruimte_opp_alt2) = (" + sql_update_select + ")"
+ " WHERE EXISTS (" + sql_update_select + ")";
Oracle.Execute(sql_update);
}
}
else

View File

@@ -151,6 +151,9 @@ var status = {
case "ALGCAD" : tekst = L("lcl_alg_is_algcad") ; break;
case "ALGRNE" : tekst = L("lcl_alg_is_algrne") ; break;
case "ALGLUP" : tekst = L("lcl_alg_is_alglup") ; break;
case "ALGGUP" : tekst = L("lcl_alg_is_alggup") ; break;
case "ALGVUP" : tekst = L("lcl_alg_is_algvup") ; break;
case "ALGRUP" : tekst = L("lcl_alg_is_algrup") ; break;
// extend here..
}