FSN#34632: Afleveradres wordt niet goed gevuld.

svn path=/Website/trunk/; revision=27452
This commit is contained in:
Maykel Geerdink
2015-12-15 14:30:15 +00:00
parent cfe9f780c8
commit 941a216712
2 changed files with 29 additions and 7 deletions

View File

@@ -646,7 +646,7 @@ else // nieuwe bestelling. Defaults bepalen
required: true
});
var ALGreadlevel = bes_disc_info.authparams? bes_disc_info.authparams.ALGwritelevel : 9;
var ALGreadlevel = bes_disc_info.authparams? bes_disc_info.authparams.ALGreadlevel : 9;
//var aflever_readonly = (bes_key > 0 && bes_bestelling.rfoStatus > 4)
var aflever_readonly = (bes_key > 0 && bes_bestelling.rfoStatus > 5)
if (getQParamInt("adres_key", -1) > 0)

View File

@@ -75,6 +75,7 @@ prs =
)
}
}
var wplocatie_key = -1;
if (params.withAflever)
{
var wp = prs.werkplekken();
@@ -84,9 +85,16 @@ prs =
if (!wp0.isVirtueel())
{
result.afleverruimte = wp0.deliveryPlace();
wplocatie_key = wp0.alg_locatie_key();
break; // stop bij de eerste
}
}
// Nu Afleveradres bepalen
// 1) Afleveradres van de persoon.
// 2) Afleveradres van de persoon zijn/haar afdeling.
// 3) Afleveradres van het gebouw van de persoon zijn/haar werkplek.
// 4) Afleveradres van het bedrijf van de persoon zijn/haar afdeling.
// 5) Afleveradres behorend bij de locatie van de persoon zijn/haar werkplek (via mld_adres tabel)
if (prs.mld_adres_key())
result.mld_adres_key = prs.mld_adres_key();
else if (prs.afdeling().mld_adres_key())
@@ -95,15 +103,29 @@ prs =
result.mld_adres_key = prs.gebouw().mld_adres_key();
else
{
var sql = "select mld_adres_key_lev from prs_bedrijf"
+ " where prs_bedrijf_key = " + prs.afdeling().prs_bedrijf_key();
var sql = "SELECT mld_adres_key_lev FROM prs_bedrijf"
+ " WHERE prs_bedrijf_key = " + prs.afdeling().prs_bedrijf_key();
var oRs = Oracle.Execute(sql);
result.mld_adres_key = oRs("mld_adres_key_lev").Value;
if (!result.mld_adres_key && wplocatie_key > 0)
{
var sql = "SELECT COUNT(*) aantal_adressen"
+ " , MIN(ma.mld_adres_key) mld_adres_key"
+ " FROM mld_adres ma"
+ " WHERE ma.alg_locatie_key = " + wplocatie_key
+ " AND ma.mld_adres_afleveradres = 1";
var oRs = Oracle.Execute(sql);
// Alleen als er 1 afleveradres op de betreffende locatie is kan ik een goede keuze maken.
// Zijn er meerdere, dan zijn er waarschijnlijk meerdere gebouwen. Dan weet ik niet welke ik moet kiezen.
if (oRs("aantal_adressen").Value == 1)
result.mld_adres_key = oRs("mld_adres_key").Value;
}
}
if (result.mld_adres_key)
{
var oRs = Oracle.Execute("SELECT mld_adres_naam FROM mld_adres WHERE mld_adres_key = " + result.mld_adres_key);
result.mld_adres_naam = oRs("mld_adres_naam").Value;
if (result.mld_adres_key)
{
var oRs = Oracle.Execute("SELECT mld_adres_naam FROM mld_adres WHERE mld_adres_key = " + result.mld_adres_key);
result.mld_adres_naam = oRs("mld_adres_naam").Value;
}
};
if (params.withWL)