RWSN#51376 uitvoertijden per gebouw

svn path=/Website/trunk/; revision=38638
This commit is contained in:
Alex Tiehuis
2018-07-25 12:49:08 +00:00
parent 98bf22366a
commit 22105cd495
3 changed files with 35 additions and 11 deletions

View File

@@ -150,7 +150,7 @@ switch (req_info)
else // Leverancier-SLA
{
if (uitv_key > 0)
result.uitvoertijd = mld.getbedrijfuitvoertijd(uitv_key);
result.uitvoertijd = mld.getbedrijfuitvoertijd(uitv_key, mld_key);
}
var einddatum = mld.geteinddatumopdracht(mld_key, result.uitvoertijd, startdatum, sla_mode);
result.einddatum = einddatum? einddatum.getTime() : null;

View File

@@ -662,17 +662,39 @@ mld = {setmeldingstatus:
},
getbedrijfuitvoertijd:
function (uitv_key)
function (bedrijf_key, melding_key)
{
var sql = "SELECT b.prs_bedrijf_t_uitvoertijd.tijdsduur tijdsduur"
+ " , b.prs_bedrijf_t_uitvoertijd.eenheid eenheid"
+ " FROM prs_bedrijf b"
+ " WHERE b.prs_bedrijf_key = " + uitv_key;
var oRs = Oracle.Execute(sql);
var sql, oRs, uitvoertijd, result = mld.mld_melding_info(melding_key);
sql = "SELECT bdl.prs_bdl_t_uitvoertijd.tijdsduur tijdsduur, bdl.prs_bdl_t_uitvoertijd.eenheid eenheid"
+ " FROM prs_bedrijfdienstlocatie bdl"
+ " WHERE bdl.prs_bedrijf_key = " + bedrijf_key
+ " AND bdl.prs_dienst_key = " + result.dienst_key;
// Als in de tabel de alg_gebouw_key en/of alg_locatie_key NULL is dan levert het bedrijf de dienst op ALLE gebouwen en/of locaties.
if (result.bld_key > 0)
{
sql += " AND ((bdl.alg_gebouw_key = " + result.bld_key + " OR bdl.alg_gebouw_key IS NULL) AND"
+ " (bdl.alg_locatie_key = " + result.loc_key + " OR bdl.alg_locatie_key IS NULL)" + ")";
}
else if (result.loc_key > 0) // <20>berhaupt plaatsgegevens?
{
sql += " AND (bdl.alg_locatie_key = " + result.loc_key + " OR bdl.alg_locatie_key IS NULL)";
}
sql += " AND bdl.prs_bdl_t_uitvoertijd.tijdsduur > 0";
oRs = Oracle.Execute(sql);
if (oRs.Eof)
{
sql = "SELECT b.prs_bedrijf_t_uitvoertijd.tijdsduur tijdsduur"
+ " , b.prs_bedrijf_t_uitvoertijd.eenheid eenheid"
+ " FROM prs_bedrijf b"
+ " WHERE b.prs_bedrijf_key = " + bedrijf_key;
oRs = Oracle.Execute(sql);
}
if (oRs.Eof || oRs("tijdsduur").Value == null) // oRs.Eof: Waarschijnlijk persoon
var uitvoertijd = null;
uitvoertijd = null;
else
var uitvoertijd = {tijdsduur: oRs("tijdsduur").Value, eenheid: oRs("eenheid").Value};
uitvoertijd = {tijdsduur: oRs("tijdsduur").Value, eenheid: oRs("eenheid").Value};
oRs.Close();
return uitvoertijd;
},
@@ -1892,6 +1914,7 @@ mld = {setmeldingstatus:
+ " , mld_melding_onderwerp"
+ " , mld_melding_datum"
+ " , s.mld_ins_discipline_key"
+ " , s.prs_dienst_key"
+ " , m.mld_stdmelding_key"
+ " , m.mld_alg_onroerendgoed_keys"
+ " , m.mld_melding_t_uitvoertijd.tijdsduur uitvoertijd_tijdsduur"
@@ -2022,6 +2045,7 @@ mld = {setmeldingstatus:
mld_onderwerp: oRs("mld_melding_onderwerp").Value,
melddatum: new Date( oRs("mld_melding_datum").Value),
disc: oRs("mld_ins_discipline_key").Value,
dienst_key: oRs("prs_dienst_key").Value,
stdm: oRs("mld_stdmelding_key").Value,
place: oRs("mld_alg_onroerendgoed_keys").Value,
uitvoertijd: oRs("uitvoertijd_tijdsduur").Value,
@@ -2484,7 +2508,7 @@ mld = {setmeldingstatus:
}
// Uitvoertijd.
if (result.uitvoerende_key > 0)
result.uitvoertijd = mld.getbedrijfuitvoertijd(result.uitvoerende_key);
result.uitvoertijd = mld.getbedrijfuitvoertijd(result.uitvoerende_key, result.mld_key);
return result;
},

View File

@@ -346,7 +346,7 @@ for (var u = 0; u < uitvkeyArray.length; u++)
// Nee) begintijd is 00:00.
var startdate_is_today = (startdate.midnight().getTime() == sysdate.midnight().getTime());
var bedrijf_uitvoertijd = mld.getbedrijfuitvoertijd(uitvoerende); // vaak nodig
var bedrijf_uitvoertijd = mld.getbedrijfuitvoertijd(uitvoerende, mld_key); // vaak nodig
var melding_uitvoertijd = mld.getmeldinguitvoertijd(mld_key);
var opdracht_uitvoertijd = (sla_mode == 2 ? melding_uitvoertijd : bedrijf_uitvoertijd);
if (startdate_is_today)