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

svn path=/Website/trunk/; revision=36983
This commit is contained in:
Maykel Geerdink
2018-02-14 14:06:55 +00:00
parent 3bfb9a0af2
commit 7940a62fd1
5 changed files with 54 additions and 11 deletions

View File

@@ -292,6 +292,11 @@ model_bes_disc_params =
"typ": "number",
"LOV": L("bes_discipline_ins_modeLOV"),
"emptyoption": null
},
"feconfirm": {
"dbs": "bes_disc_params_fe_confirm",
"label": L("bes_discipline_fe_confirm"),
"typ": "check0"
}
}
}

View File

@@ -144,9 +144,15 @@
+ " , s.ins_srtdeel_key"
+ " , BITAND(sd.ins_srtdeel_binding, 8) afd_binding"
+ " , BITAND(sd.ins_srtdeel_binding, 16) prs_binding"
+ " , CASE"
+ " WHEN bes.bes_bestelling_retourvan_key IS NOT NULL"
+ " THEN 1"
+ " ELSE 0"
+ " END isRetour"
+ " FROM bes_bestelopdr b"
+ " , bes_bestelopdr_item boi"
+ " , bes_bestelling_item bi"
+ " , bes_bestelling bes"
+ " , bes_srtdeel s"
+ " , bes_srtgroep g"
+ " , bes_v_aanwezigdiscipline d"
@@ -155,6 +161,7 @@
+ " WHERE b.bes_bestelopdr_key = boi.bes_bestelopdr_key"
+ " AND boi.bes_bestelopdr_item_key = bi.bes_bestelopdr_item_key"
+ " AND bi.bes_srtdeel_key = s.bes_srtdeel_key"
+ " AND bi.bes_bestelling_key = bes.bes_bestelling_key"
+ " AND s.bes_srtgroep_key = g.bes_srtgroep_key"
+ " AND g.ins_discipline_key = d.ins_discipline_key"
+ " AND d.ins_discipline_key = bdp.bes_ins_discipline_key"
@@ -173,8 +180,9 @@
var ins_srtdeel_key = oRsb("ins_srtdeel_key").Value || -1;
var afd_binding = oRsb("afd_binding").Value == 8;
var prs_binding = oRsb("prs_binding").Value == 16;
var isRetour = oRsb("isRetour").Value == 1;
if (ins_mode > 0 && ins_srtdeel_key < 0)
if (!isRetour && ins_mode > 0 && ins_srtdeel_key < 0)
abort_with_warning(L("lcl_bes_notlinkedto_obj_type"));
// De scope is vooralsnog alleen de functionaliteit waarbij de objecten al bestaan in FACILITOR (ins_deel records) (DJIN#41674).
@@ -1132,6 +1140,11 @@
+ " , ma.alg_locatie_key"
+ " , bes_disc_params_fe_confirm"
+ " , b.prs_perslid_key bes_prs_key"
+ " , CASE"
+ " WHEN b.bes_bestelling_retourvan_key IS NOT NULL"
+ " THEN 1"
+ " ELSE 0"
+ " END isRetour"
+ " FROM bes_bestelopdr bo"
+ " , bes_bestelopdr_item boi"
+ " , bes_bestelling_item bi"
@@ -1156,6 +1169,7 @@
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.
var isRetour = oRs("isRetour").Value == 1;
oRs.Close();
var bresult = user.func_enabled2("BES",
@@ -1183,7 +1197,7 @@
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;
var canConfirm = !isRetour && fe_confirm && eigenBestelling;
switch (bestelopdr_status) // Opdracht status
{

View File

@@ -64,10 +64,9 @@ user.auth_required_or_abort(this_bestelopdr.canReadAny || this_bestelling.isVera
FcltMgr.confirm(L("lcl_bes_confirm_accept").format("<%=S("bes_bestelopdr_prefix") + bes_bestelopdr.bestelopdr_id%>"),
function()
{
var data = {
urole: "<%=urole%>",
opdr_key: <%=opdr_key%>
};
var data = { urole: "<%=urole%>",
opdr_key: <%=opdr_key%>
};
<% protectRequest.dataToken("data"); %>
$.post("opdr_accept.asp",
data,
@@ -89,6 +88,22 @@ user.auth_required_or_abort(this_bestelopdr.canReadAny || this_bestelling.isVera
FcltMgr.openModalDetail(url, L("lcl_bes_delivery"), {xwidth: 800, callback: FcltMgr.reload});
}
function bes_opdr_confirm()
{
FcltMgr.confirm(L("lcl_bes_confirm").format("<%=S("bes_bestelling_prefix") + bes_bestelling.bes_key%>"),
function()
{
var data = { urole: "<%=urole%>",
opdr_key: <%=opdr_key%>
};
<% protectRequest.dataToken("data"); %>
$.post("bes_opdr_confirm.asp",
data,
FcltCallbackRefresh,
"json");
});
}
function bes_opdr_mail()
{
<%
@@ -153,6 +168,8 @@ user.auth_required_or_abort(this_bestelopdr.canReadAny || this_bestelling.isVera
buttons.push({ icon: "print.png", title: L("lcl_print"), action: 'bes_opdr_print()' });
buttons.push({ icon: "email.png", title: L("lcl_noti_bes_opdr_email"), action: 'bes_opdr_mail()' });
if (this_bestelopdr.canConfirm)
buttons.push({ icon: "accept.png", title: L("lcl_confirm"), action: "bes_opdr_confirm()" });
IFRAMER_HEADER(L("lcl_bes_opdrframe_algemeen"), buttons)
%>
<div id="show">

View File

@@ -176,6 +176,11 @@ user.auth_required_or_abort(this_bestelopdr.canDeliver);
+ " , s.bes_srtdeel_nr"
+ " , b.bes_bestelopdr_delivery_opmerk"
+ " , bdp.bes_disc_params_ins_mode"
+ " , CASE"
+ " WHEN bes.bes_bestelling_retourvan_key IS NOT NULL"
+ " THEN 1"
+ " ELSE 0"
+ " END isRetour"
+ " , s.ins_srtdeel_key"
+ " FROM ins_tab_discipline d"
+ " , bes_disc_params bdp"
@@ -235,8 +240,9 @@ user.auth_required_or_abort(this_bestelopdr.canDeliver);
var ins_mode = oRs("bes_disc_params_ins_mode").Value; // Discipline is voor elke regel hetzelfde. Dus de mode ook.
var instock;
var isRetour = oRs("isRetour").Value == 1;
var ins_srtdeel_key = oRs("ins_srtdeel_key").Value || -1;
if (ins_mode > 0 && ins_srtdeel_key > 0)
if (!isRetour && ins_mode > 0 && ins_srtdeel_key > 0)
{
var sql_instock = bes.getPresentObjectsSql(ins_srtdeel_key, bi_key, true);
var oRsI = Oracle.Execute(sql_instock);
@@ -250,7 +256,7 @@ user.auth_required_or_abort(this_bestelopdr.canDeliver);
<%=safe.html(fitemstr)%>
</td>
<td align="right" valign="top"><nobr>
<% if (ins_mode > 0 && ins_srtdeel_key > 0)
<% if (!isRetour && ins_mode > 0 && ins_srtdeel_key > 0)
{ %>
<input type="hidden" id="itemeenh<%=count%>" name="itemeenh<%=count%>" value="<%=safe.html(fitemeenh)%>">
<% } %>
@@ -277,7 +283,7 @@ user.auth_required_or_abort(this_bestelopdr.canDeliver);
value="">
<input type="hidden" id="bokey<%=count%>" name="bokey<%=count%>" value="<%=oikey%>">
<input type="hidden" id="bi_key<%=count%>" name="bi_key<%=count%>" value="<%=bi_key%>">
<% if (ins_mode > 0 && ins_srtdeel_key > 0)
<% if (!isRetour && ins_mode > 0 && ins_srtdeel_key > 0)
{ %>
<input type="hidden" id="instock<%=count%>" name="instock<%=count%>" value="<%=instock%>">
<% } %>
@@ -297,6 +303,7 @@ user.auth_required_or_abort(this_bestelopdr.canDeliver);
<script type="text/javascript">
var ins_mode = <%=ins_mode%>;
var ins_srtdeel_key = <%=ins_srtdeel_key%>;
var isRetour = <%=isRetour? 1 : 0%> == 1;
</script>
<%
BLOCK_END();

View File

@@ -27,7 +27,7 @@ function checkInput(evt)
if (val == "") val = 0;
valid = !((remaining > 0 && val > remaining) || (remaining < 0 && val < remaining));
error = L("lcl_bes_exceed_value");
if (valid && ins_mode > 0 && ins_srtdeel_key > 0)
if (!isRetour && valid && ins_mode > 0 && ins_srtdeel_key > 0)
{
var instock = parseInt($("#instock" + i).val(), 10);
var delivered = parseInt($("#cnt" + i).val(), 10) || 0;
@@ -44,7 +44,7 @@ function checkInput(evt)
error = L("lcl_bes_insuf_instock").format(instock + " " + itemeenh);
}
}
else //if (valid && ins_mode > 0 && ins_srtdeel_key < 0)
else if (!isRetour && valid && ins_mode > 0 && ins_srtdeel_key < 0)
{ // Zou niet voor moeten komen.
valid = false;
error = L("lcl_bes_notlinkedto_obj_type");