FCLT#55825 performance opdrachtenlijst
svn path=/Website/branches/v2018.2/; revision=40293
This commit is contained in:
@@ -711,29 +711,46 @@ mld = {setmeldingstatus:
|
||||
return einddatum;
|
||||
},
|
||||
|
||||
hasAlgUitvoertijd: -1, // unknown
|
||||
getbedrijfuitvoertijd:
|
||||
function _getbedrijfuitvoertijd(bedrijf_key, melding_key)
|
||||
{
|
||||
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)
|
||||
if (mld.hasAlgUitvoertijd == -1) // Zijn er specifieke uitvoertijden voor gebouwen?
|
||||
{
|
||||
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)" + ")";
|
||||
var sql = "SELECT COUNT(*) cnt"
|
||||
+ " FROM prs_bedrijfdienstlocatie bdl"
|
||||
+ " WHERE bdl.prs_bdl_t_uitvoertijd.tijdsduur IS NOT NULL";
|
||||
var oRs = Oracle.Execute(sql)
|
||||
mld.hasAlgUitvoertijd = oRs("cnt").Value;
|
||||
oRs.Close()
|
||||
}
|
||||
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)
|
||||
var sql, oRs, uitvoertijd;
|
||||
var hasSpecifiek = false;
|
||||
if (mld.hasAlgUitvoertijd > 0) // Kijken of er een specifieke uitvoertijd voor ons gebouw is
|
||||
{
|
||||
var result = mld.mld_melding_info(melding_key); // deze is 'duur' dus zo weinig mogelijk uitvoeren
|
||||
|
||||
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);
|
||||
var hasSpecifiek = !oRs.Eof;
|
||||
}
|
||||
|
||||
if (!hasSpecifiek)
|
||||
{
|
||||
sql = "SELECT b.prs_bedrijf_t_uitvoertijd.tijdsduur tijdsduur"
|
||||
+ " , b.prs_bedrijf_t_uitvoertijd.eenheid eenheid"
|
||||
|
||||
Reference in New Issue
Block a user