DJIN#41675: DJIN - BES: Bevestiging levering/ontvangst door besteller va.

svn path=/Website/trunk/; revision=36974
This commit is contained in:
Maykel Geerdink
2018-02-14 06:39:43 +00:00
parent 7661b8c7de
commit 09d955ad65

View File

@@ -21,6 +21,14 @@
// Deze zet de status en doet dan bijpassende tracking en notificatie
// zou leuk zijn om true of false op te leveren naar gelang de status echt anders is geworden
},
setbestelopdrstatus:
function (bes_key, bes_bestelopdrstatus_key)
{
var sql = "BEGIN bes.setbestelopdrstatus(" + bes_key + ", " + bes_bestelopdrstatus_key + ", " + user_key + "); END;"
Oracle.Execute(sql);
// Deze zet de status en doet dan bijpassende tracking en notificatie
// zou leuk zijn om true of false op te leveren naar gelang de status echt anders is geworden
},
updatebestellingstatus:
function (bes_key)
{
@@ -261,6 +269,7 @@
case 6: { statustekst = L("lcl_bes_ord_geleverd"); break; }
case 7: { statustekst = L("lcl_bes_ord_verwerkt"); break; }
case 8: { statustekst = L("lcl_bes_ord_geannuleerd"); break; }
case 9: { statustekst = L("lcl_bes_ord_ontvangen"); break; }
}
if (__Logging > 0)
statustekst += " ("+String(p)+")";
@@ -307,6 +316,7 @@
+ " , bes_disc_params_maxartikel"
+ " , bes_disc_params_kpautorisatie"
+ " , bes_disc_params_for_others"
+ " , bes_disc_params_fe_confirm"
+ " , bes_disc_params_bestelmode"
+ " , bes_disc_params_fotomode"
+ " FROM bes_discipline bd, bes_disc_params bdp"
@@ -341,6 +351,7 @@
maxartikel : oRs("bes_disc_params_maxartikel").Value? oRs("bes_disc_params_maxartikel").Value : -1,
kpautorisatie : oRs("bes_disc_params_kpautorisatie").Value == 1,
disc_params_for_others : oRs("bes_disc_params_for_others").Value == 1,
disc_params_fe_confirm : oRs("bes_disc_params_fe_confirm").Value == 1,
bestelmode : oRs("bes_disc_params_bestelmode").Value, // 0=ouderwets artikelselector, 1=vrij artikelen, 2=bestellijst
fotomode : oRs("bes_disc_params_fotomode").Value, // 0=ouderwets bij kiezen, 1=ook in bestellijst
isFreeArticle : oRs("bes_disc_params_bestelmode").Value == 1,
@@ -954,7 +965,7 @@
bresult.canSubmit = false; // Echt bestellen (vaak automatisch), maakt opdracht aan
bresult.canApprove = false; // Fiatteren financieel
bresult.canDelete = false; // Algemeen verwijderen
bresult.canFactuur = false; // Facturen bekijken
bresult.canFactuur = false; // Facturen bekijken
// TODO: Hoe is retour functie-autorisatie afhankelijk? canWrite("WEB_BESUSE") || canWrite("WEB_BESFOF")?
var bes_disc_info = bes.disc_info(bes_bestelling.dis_key); // alle discipline informatie
var _canRetour = (bes_disc_info.disc_params_retour == 1 && bes_bestelling.rfoRetourVan == null) &&
@@ -1112,33 +1123,42 @@
func_enabled_bestelopdracht: // Wat mag ik zoal op deze specifieke bestel opdracht?
function _func_enabled_bestelopdracht(opdr_key) // bes_bestelopdr is een bestelopdr_info hash
{
var sql = "SELECT DISTINCT bo.prs_perslid_key"
var sql = "SELECT DISTINCT bo.prs_perslid_key bes_opdr_prs_key"
+ " , g.ins_discipline_key"
+ " , bo.bes_bestelopdr_status"
+ " , ma.alg_locatie_key"
+ " , bes_disc_params_fe_confirm"
+ " , b.prs_perslid_key bes_prs_key"
+ " FROM bes_bestelopdr bo"
+ " , bes_bestelopdr_item boi"
+ " , bes_bestelling_item bi"
+ " , bes_bestelling b"
+ " , bes_srtdeel s"
+ " , bes_srtgroep g"
+ " , bes_disc_params bdp"
+ " , mld_adres ma"
+ " WHERE bo.bes_bestelopdr_key = boi.bes_bestelopdr_key"
+ " AND boi.bes_bestelopdr_item_key = bi.bes_bestelopdr_item_key"
+ " AND bi.bes_bestelling_key = b.bes_bestelling_key"
+ " AND bi.bes_srtdeel_key = s.bes_srtdeel_key"
+ " AND s.bes_srtgroep_key = g.bes_srtgroep_key"
+ " AND bo.mld_adres_key_lev = ma.mld_adres_key"
+ " AND bdp.bes_ins_discipline_key = g.ins_discipline_key"
+ " AND bo.bes_bestelopdr_key = " + opdr_key;
var oRs = Oracle.Execute(sql);
var perslid_key = oRs("prs_perslid_key").Value; // De aanmaker van de bestelopdracht.
var bes_opdr_prs_key = oRs("bes_opdr_prs_key").Value; // De aanmaker van de bestelopdracht.
var dis_key = oRs("ins_discipline_key").Value;
var alg_locatie_key = oRs("alg_locatie_key").Value;
var bestelopdr_status = oRs("bes_bestelopdr_status").Value;
var disc_params_fe_confirm = oRs("bes_disc_params_fe_confirm").Value;
var bes_prs_key = oRs("bes_prs_key").Value; // De aanmaker van de bestelling.
oRs.Close();
var bresult = user.func_enabled2("BES",
{ ins_discipline_key: dis_key,
loc_key: alg_locatie_key,
prs_key: perslid_key,
prs_key: bes_opdr_prs_key,
checkOptimistic: false, // pessimist
isOptional: false
}
@@ -1156,6 +1176,11 @@
bresult.canReject = false; // Afwijzen
bresult.canSend = false; // Markeer als verzonden
bresult.canDeliver = false; // Levering
bresult.canConfirm = false; // FE Bevestigen ontvangst.
var eigenBestelling = bes_prs_key == user_key || user.isCollega(bes_prs_key);
var fe_confirm = disc_params_fe_confirm == 1;
var canConfirm = fe_confirm && eigenBestelling;
switch (bestelopdr_status) // Opdracht status
{
@@ -1177,6 +1202,7 @@
bresult.canReject = bresult.canWrite("WEB_BESBOF");
break;
case 6: // Geleverd
bresult.canConfirm = canConfirm;
break;
case 7: // Verwerkt
break;