MARX#75026 Pakbonnummer en notificatie per (deel)levering bij bestelopdracht
svn path=/Website/trunk/; revision=58450
This commit is contained in:
95
APPL/BES/bes_bestellevr_list.asp
Normal file
95
APPL/BES/bes_bestellevr_list.asp
Normal file
@@ -0,0 +1,95 @@
|
||||
<%@ language="javascript"%>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: bes_bestellevr_list.asp
|
||||
Beschrijving: Toont levering info van een bestelopdracht
|
||||
Note:
|
||||
|
||||
*/%>
|
||||
<!--#include file="../Shared/common.inc"-->
|
||||
<!--#include file="../Shared/status.inc"-->
|
||||
<!--#include file="../Shared/resultset_table_v2.inc" -->
|
||||
<!-- #include file="bes.inc" -->
|
||||
<%
|
||||
var outputmode = getQParamInt("outputmode", 0);
|
||||
|
||||
var opdr_key = getQParamInt('opdr_key');
|
||||
|
||||
var bes_bestelopdr = bes.bestelopdracht_info(opdr_key);
|
||||
var bes_bestelling = bes.bestelling_info(bes_bestelopdr.bes_key_str[0]);
|
||||
|
||||
var this_bestelopdr = bes.func_enabled_bestelopdracht(opdr_key);
|
||||
var this_bestelling = bes.func_enabled_bestelling(bes_bestelling)
|
||||
var hasBOread = this_bestelopdr.canReadBOF || this_bestelopdr.canReadBOR;
|
||||
|
||||
// Ik moet leesrechten (BESBOF, BESBOR of BESBAC) hebben of ik moet kostenplaatsverantwoordelijke zijn om de opdracht in te mogen zien.
|
||||
user.auth_required_or_abort(this_bestelopdr.canReadAny || this_bestelling.isVerantwoordelijke);
|
||||
|
||||
%>
|
||||
<html>
|
||||
<head>
|
||||
<% FCLTHeader.Generate({ outputmode: outputmode }); %>
|
||||
</head>
|
||||
<script>
|
||||
function bes_opdr_deliver()
|
||||
{
|
||||
url = "../bes/opdr_delivery.asp?opdr_key=<%=opdr_key%>&is_multi=0";
|
||||
FcltMgr.openModalDetail(url, L("lcl_bes_delivery"), {xwidth: 800, callback: FcltMgr.reload});
|
||||
}
|
||||
|
||||
</script>
|
||||
<body class="listmode">
|
||||
<%
|
||||
|
||||
var sql = "SELECT bes_bestellevr_opmerk, "
|
||||
+ " bes_bestellevr_pakbon, "
|
||||
+ " bes_bestellevr_datum, "
|
||||
+ " bes_srtdeel_nr, "
|
||||
+ " bes_srtdeel_omschrijving, "
|
||||
+ " bes_bestellevr_item_aantal, "
|
||||
+ " prs_perslid_naam_friendly"
|
||||
+ " FROM bes_bestellevr_item bbli, "
|
||||
+ " bes_bestellevr bbl, "
|
||||
+ " bes_bestelopdr bbo, "
|
||||
+ " bes_bestelopdr_item bbi, "
|
||||
+ " bes_bestelling_item bi, "
|
||||
+ " bes_srtdeel bs, "
|
||||
+ " prs_v_perslid_fullnames_all p "
|
||||
+ " WHERE bbo.bes_bestelopdr_key = " + opdr_key
|
||||
+ " AND bbo.bes_bestelopdr_key = bbi.bes_bestelopdr_key "
|
||||
+ " AND bbli.bes_bestelopdr_item_key = bbi.bes_bestelopdr_item_key "
|
||||
+ " AND bbl.bes_bestellevr_key = bbli.bes_bestellevr_key "
|
||||
+ " AND bi.bes_bestelopdr_item_key = bbi.bes_bestelopdr_item_key "
|
||||
+ " AND bi.bes_Srtdeel_key = bs.bes_srtdeel_key "
|
||||
+ " AND p.prs_perslid_key (+) = bbl.prs_perslid_key"; // outer join voor hard verwijderde persoon
|
||||
|
||||
var buttons = [];
|
||||
if (this_bestelopdr.canDeliver)
|
||||
buttons.push({icon: "fa-bell", title: L("lcl_bes_delivery"), action:"bes_opdr_deliver()" });
|
||||
|
||||
buttons.push({ icon: "fa-fclt-refresh", title: L("lcl_refresh"), action: "FcltMgr.reload()" });
|
||||
|
||||
|
||||
var rst = new ResultsetTable({ sql:sql,
|
||||
ID: "deliverytable",
|
||||
outputmode: outputmode,
|
||||
showAll: getQParamInt("showall", 0),
|
||||
buttons: buttons
|
||||
});
|
||||
|
||||
rst.addColumn(new Column({caption: L("lcl_bes_bestellevr_pakbon"), content: "bes_bestellevr_pakbon", datatype: "varchar" }));
|
||||
rst.addColumn(new Column({caption: L("lcl_date_time"), content: "bes_bestellevr_datum", datatype: "datetime"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_mld_changedby"), content: "prs_perslid_naam_friendly", datatype: "varchar"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_bes_comment"), content: "bes_bestellevr_opmerk", datatype: "varchar"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_bes_srtdeel_nr"), content: "bes_srtdeel_nr", datatype: "varchar"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_bes_srtdeel"), content: "bes_srtdeel_omschrijving", datatype: "varchar"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_bes_delivered_now"), content: "bes_bestellevr_item_aantal", datatype: "number"}));
|
||||
|
||||
|
||||
var cnt = rst.processResultset();
|
||||
%>
|
||||
</body>
|
||||
</html>
|
||||
<% ASPPAGE_END(); %>
|
||||
@@ -14,6 +14,7 @@
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/iface.inc" -->
|
||||
<!-- #include file="../fin/fin_verkoopfactuur.inc" -->
|
||||
<!-- #include file="bes.inc" -->
|
||||
<%
|
||||
FCLTHeader.Requires({ plugins: ["suggest","jQuery"],
|
||||
js: ["jquery-ui.js"] })
|
||||
@@ -28,7 +29,6 @@ var opdr_key = getQParamInt('ordernr');
|
||||
var autoopdr = getQParam('autoopdr', '');
|
||||
|
||||
var sql = "SELECT bo.bes_bestelopdr_id"
|
||||
+ " , bo.bes_bestelopdr_status"
|
||||
+ " , b.bes_bestelling_parentkey"
|
||||
+ " FROM bes_bestelopdr bo"
|
||||
+ " , bes_bestelling_item bi"
|
||||
@@ -51,6 +51,9 @@ oRs = Oracle.Execute(sql);
|
||||
if (!oRs.eof)
|
||||
opdr_parent_key = oRs("bes_bestelopdr_key").value;
|
||||
oRs.Close();
|
||||
|
||||
var this_bestelopdr = bes.func_enabled_bestelopdracht(opdr_key);
|
||||
|
||||
%>
|
||||
<html>
|
||||
<head>
|
||||
@@ -90,9 +93,27 @@ oRs.Close();
|
||||
IFRAMER("finfactuur", page, { refreshOnClose: true, title: L("lcl_fin_invoices_frame")} );
|
||||
}
|
||||
|
||||
// Zijn er delivery records?
|
||||
var sql = "SELECT bbl.bes_bestellevr_key"
|
||||
+ " FROM bes_bestellevr_item bbli, "
|
||||
+ " bes_bestellevr bbl, "
|
||||
+ " bes_bestelopdr bbo, "
|
||||
+ " bes_bestelopdr_item bbi"
|
||||
+ " WHERE bbo.bes_bestelopdr_key = " + opdr_key
|
||||
+ " AND bbo.bes_bestelopdr_key = bbi.bes_bestelopdr_key "
|
||||
+ " AND bbli.bes_bestelopdr_item_key = bbi.bes_bestelopdr_item_key "
|
||||
+ " AND bbl.bes_bestellevr_key = bbli.bes_bestellevr_key ";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var hasDelivery = !oRs.EOF;
|
||||
oRs.Close();
|
||||
if (hasDelivery || this_bestelopdr.canDeliver)
|
||||
{
|
||||
page="../bes/bes_bestellevr_list.asp?embedded=1&opdr_key=" + opdr_key;
|
||||
IFRAMER("besdelivery", page, { refreshOnClose: true, title: L("lcl_bes_delivery")} );
|
||||
}
|
||||
|
||||
verkoopfactuur_IFRAMER('bestelopdr', opdr_key);
|
||||
|
||||
// tracking naar subframe :-)
|
||||
var autfunction = {fo: 'WEB_BESFOF', bo: ['WEB_BESBOR', 'WEB_BESBOF'], mi: 'WEB_BESBAC'}[urole] || 'WEB_BESUSE';
|
||||
var authparams = user.checkAutorisation(autfunction, true);
|
||||
if (authparams && authparams.ALGreadlevel < 9 && authparams.PRSreadlevel < 9)
|
||||
|
||||
@@ -79,14 +79,14 @@ user.auth_required_or_abort(this_bestelopdr.canReadAny || this_bestelling.isVera
|
||||
|
||||
function bes_opdr_reject()
|
||||
{
|
||||
var url = "../BES/opdr_reject.asp?opdr_key=<%=opdr_key%>&urole=<%=urole%>";
|
||||
var url = "../bes/opdr_reject.asp?opdr_key=<%=opdr_key%>&urole=<%=urole%>";
|
||||
FcltMgr.openModalDetail(url, L("lcl_bes_order_reject").format(<%=opdr_key%>),
|
||||
{callback: <%=bes_bestelling.parent_key?"FcltMgr.closeDetail":"FcltMgr.reload"%>});
|
||||
}
|
||||
|
||||
function bes_opdr_deliver()
|
||||
{
|
||||
url = "../BES/opdr_delivery.asp?opdr_key=<%=opdr_key%>&urole=<%=urole%>&is_multi=0";
|
||||
url = "../bes/opdr_delivery.asp?opdr_key=<%=opdr_key%>&urole=<%=urole%>&is_multi=0";
|
||||
FcltMgr.openModalDetail(url, L("lcl_bes_delivery"), {xwidth: 800, callback: FcltMgr.reload});
|
||||
}
|
||||
|
||||
@@ -160,7 +160,7 @@ user.auth_required_or_abort(this_bestelopdr.canReadAny || this_bestelling.isVera
|
||||
IFRAMER_HEADER(L("lcl_bes_opdrframe_algemeen"), buttons)
|
||||
%>
|
||||
<form action="order_details.asp" method="post" name="u2" >
|
||||
<%
|
||||
<%
|
||||
BLOCK_START("besOpdr", L("lcl_bes_opdrframe_algemeen"), {icon: "fa-shipping-fast"});
|
||||
|
||||
ROFIELDTR("fld", L("lcl_bes_BesOrder"), S("bes_bestelopdr_prefix") + bes_bestelopdr.bestelopdr_id);
|
||||
|
||||
@@ -104,9 +104,9 @@ user.auth_required_or_abort(this_bestelopdr.canDeliver);
|
||||
+ " , bi.bes_bestelling_item_key"
|
||||
+ " , boi.bes_bestelopdr_item_aantal"
|
||||
+ " , boi.bes_bestelopdr_item_aantalontv"
|
||||
+ " , m.mld_adres_bezoek_adres || ' ' ||"
|
||||
+ " m.mld_adres_bezoek_postcode || ' ' ||"
|
||||
+ " m.mld_adres_bezoek_plaats delivery_place"
|
||||
+ " , m.mld_adres_bezoek_adres"
|
||||
+ " , m.mld_adres_bezoek_postcode"
|
||||
+ " , m.mld_adres_bezoek_plaats"
|
||||
+ " , b.bes_bestelopdr_opmerking"
|
||||
+ " , bes.prs_perslid_key"
|
||||
+ " , boi.bes_bestelopdr_item_key"
|
||||
@@ -144,14 +144,21 @@ user.auth_required_or_abort(this_bestelopdr.canDeliver);
|
||||
oRs = Oracle.Execute(sql);
|
||||
count = 0;
|
||||
|
||||
var delivery_place = (oRs("mld_adres_bezoek_adres").Value
|
||||
? oRs("mld_adres_bezoek_adres").Value + ' '
|
||||
+ oRs("mld_adres_bezoek_postcode").Value + ' '
|
||||
+ oRs("mld_adres_bezoek_plaats delivery_place").Value
|
||||
: "");
|
||||
|
||||
MODAL_BLOCK_START("besdelivery", L("lcl_bes_delvery_h_pref") + S("bes_bestelopdr_prefix") + ordernr_id + L("lcl_bes_delvery_h_suf"), { icon: "fa-shipping-fast" });
|
||||
ROFIELDTR("fld", L("lcl_bes_Supplier"), oRs("prs_bedrijf_naam").value);
|
||||
RWFIELDTR("pakbon", "fld", L("lcl_bes_bestellevr_pakbon"), "");
|
||||
RWTEXTAREATR("notsat",
|
||||
"fldtxt",
|
||||
L("lcl_bes_not_satisfied") + " " + L("lcl_bes_your_comment"),
|
||||
oRs("bes_bestelopdr_delivery_opmerk").value,
|
||||
{html: "rows='3'"});
|
||||
ROFIELDTR("fld", L("lcl_bes_adres_lev"), oRs("delivery_place").value);
|
||||
ROFIELDTR("fld", L("lcl_bes_adres_lev"), delivery_place, {suppressEmpty: true});
|
||||
MODAL_BLOCK_END();
|
||||
MODAL_BLOCK_START("besItems", L("lcl_bes_bestelling_items"), { icon: "fa-list", nopadding: true });
|
||||
%>
|
||||
|
||||
@@ -21,6 +21,9 @@ var ontv, oldcnt, bokey, bikey;
|
||||
var max_o_i = getFParamInt( 'max_o_i', 0 );
|
||||
var opdr_key_arr = getQParamIntArray("opdr_key");
|
||||
var isMulti = getQParamInt("is_multi", 0);
|
||||
var pakbon = getQParam("pakbon", "");
|
||||
var newremark = getFParam("notsat", "");
|
||||
|
||||
var result = {};
|
||||
var tobedelivered = 0;
|
||||
var ingesloten = [];
|
||||
@@ -150,6 +153,7 @@ for (var index = 0; index < ingesloten.length; index++)
|
||||
|
||||
var trackarray = [];
|
||||
var besopdr_id = "";
|
||||
var bes_bestellevr_key = -1; // TODO: bes_bestellevr record aanmaken met pakbon en newremark
|
||||
for (i = 0; i < max_o_i; i++)
|
||||
{
|
||||
ontv = isMulti ? cntArr[i] : getFParamFloat("cnt" + i, 0);
|
||||
@@ -159,6 +163,31 @@ for (var index = 0; index < ingesloten.length; index++)
|
||||
|
||||
if ( !isNaN(ontv) && ontv != 0 && !isNaN(oldcnt))
|
||||
{
|
||||
if (!(bes_bestellevr_key > 0))
|
||||
{
|
||||
var fields = [ { dbs: "bes_bestellevr_key", typ: "key", seq: "bes_s_bes_bestellevr_key" },
|
||||
{ dbs: "prs_perslid_key", typ: "key", val: user_key },
|
||||
{ dbs: "bes_bestellevr_opmerk", typ: "varchar", val: newremark, len: 320 },
|
||||
{ dbs: "bes_bestellevr_pakbon", typ: "varchar", frm: "pakbon", len: 50 }
|
||||
];
|
||||
var levrIns = buildInsert("bes_bestellevr", fields);
|
||||
Oracle.Execute(levrIns.sql);
|
||||
bes_bestellevr_key = levrIns.sequences["bes_bestellevr_key"];
|
||||
}
|
||||
sql = "INSERT INTO bes_bestellevr_item"
|
||||
+ " ( bes_bestellevr_key"
|
||||
+ " , bes_bestelopdr_item_key"
|
||||
+ " , bes_bestellevr_item_aantal"
|
||||
+ " )"
|
||||
+ " VALUES "
|
||||
+ " (" + bes_bestellevr_key
|
||||
+ " , " + bokey
|
||||
+ " , " + ontv
|
||||
+ " )";
|
||||
Oracle.Execute(sql);
|
||||
|
||||
// lekje: er is hier nog geen controle dat de bes_bestelopdr_item ook daadwerkelijk
|
||||
// bij opdracht opdr_key hoort.
|
||||
sql = "UPDATE bes_bestelopdr_item B"
|
||||
+ " SET bes_bestelopdr_item_aantalontv = "
|
||||
+ " COALESCE(bes_bestelopdr_item_aantalontv, 0) + " + ontv
|
||||
@@ -166,6 +195,7 @@ for (var index = 0; index < ingesloten.length; index++)
|
||||
+ " WHERE bes_bestelopdr_item_key = " + bokey;
|
||||
Oracle.Execute(sql);
|
||||
|
||||
// bes_bestelling_item_aantalontv is vrij deprecated
|
||||
sql = "UPDATE bes_bestelling_item"
|
||||
+ " SET bes_bestelling_item_aantalontv = "
|
||||
+ " COALESCE(bes_bestelling_item_aantalontv, 0) + " + ontv
|
||||
@@ -194,8 +224,6 @@ for (var index = 0; index < ingesloten.length; index++)
|
||||
bes.updatebestelopdrstatus(opdr_key);
|
||||
bes.updatebestellingstatus(bes_key);
|
||||
|
||||
var newremark = getFParam("notsat", "");
|
||||
|
||||
if (newremark != "")
|
||||
{
|
||||
var fields = [{dbs: "bes_bestelopdr_delivery_opmerk", typ: "varchar", val: newremark, len: 320 }];
|
||||
|
||||
Reference in New Issue
Block a user