DJIN#39657 Wijziging in opdracht signaleren voor behandelaar

svn path=/Website/trunk/; revision=37786
This commit is contained in:
Erik Groener
2018-04-26 11:45:58 +00:00
parent c8b3ea12bf
commit 46f5041c99
6 changed files with 134 additions and 2 deletions

View File

@@ -2245,6 +2245,22 @@ mld = {setmeldingstatus:
+ " , o.mld_opdr_approved_refiat"
+ " , fac.gettrackingdate('ORDFIA', o.mld_opdr_key) trackdateFIA"
+ " , fac.gettrackingdate('ORDFOK', o.mld_opdr_key) trackdateFOK"
+ " , (SELECT GREATEST( (SELECT COALESCE(MAX(t.fac_tracking_datum), TO_DATE('01-01-1970','dd-mm-yyyy'))"
+ " FROM fac_tracking t"
+ " , fac_srtnotificatie st"
+ " WHERE t.fac_srtnotificatie_key = st.fac_srtnotificatie_key"
+ " AND st.fac_srtnotificatie_code = 'ORDUPD'"
+ " AND st.fac_srtnotificatie_xmlnode = 'opdracht'"
+ " AND t.fac_tracking_refkey = ro.mld_opdr_key"
+ " )"
+ ", (SELECT COALESCE(MAX(n.mld_opdr_note_aanmaak), TO_DATE('01-01-1970','dd-mm-yyyy'))"
+ " FROM mld_opdr_note n"
+ " WHERE n.mld_opdr_key = ro.mld_opdr_key"
+ " )"
+ ") lasttracknote"
+ " FROM mld_opdr ro"
+ " WHERE ro.mld_opdr_key = o.mld_opdr_key) mld_opdr_laatstgewijzigd"
+ " , o.mld_opdr_laatstgezien"
+ " , mdp.mld_disc_params_offerteauto"
+ " , mdp.mld_disc_params_bestellimiet"
+ " , mdp.mld_disc_params_bestellimiet2"
@@ -2404,9 +2420,12 @@ mld = {setmeldingstatus:
mld_opdr_id: oRs("mld_opdr_id").Value,
opdr_handfiat: oRs("mld_opdr_handfiat").Value == 1, // Vrijwillig fiatteren.
opdrtypevast: oRs("mld_stdmelding_opdrtypevast").Value == 1,
mld_ins_discipline_key: oRs("mld_ins_discipline_key").Value
mld_ins_discipline_key: oRs("mld_ins_discipline_key").Value,
laatstgewijzigd: new Date(oRs("mld_opdr_laatstgewijzigd").Value),
laatstgezien: new Date(oRs("mld_opdr_laatstgezien").Value)
};
oRs.close();
result.recentgewijzigd = result.laatstgewijzigd > result.laatstgezien;
result.nextfiatteur_kpg_key = result.fiatteur_kpg_key; // welke van de drie is aan de beurt
if (result.fiatbedrag > 0) // dan is de kp-verantwoordelijke al wel geweest en staat zijn budget er in
{
@@ -5192,6 +5211,22 @@ mld = {setmeldingstatus:
+ " , t.mld_typeopdr_matchtype"
+ " , t.mld_typeopdr_kosten_verplicht"
+ " , mdp.mld_disc_params_opdr_kosten"
+ " , (SELECT GREATEST( (SELECT COALESCE(MAX(t.fac_tracking_datum), TO_DATE('01-01-1970','dd-mm-yyyy'))"
+ " FROM fac_tracking t"
+ " , fac_srtnotificatie st"
+ " WHERE t.fac_srtnotificatie_key = st.fac_srtnotificatie_key"
+ " AND st.fac_srtnotificatie_code = 'ORDUPD'"
+ " AND st.fac_srtnotificatie_xmlnode = 'opdracht'"
+ " AND t.fac_tracking_refkey = ro.mld_opdr_key"
+ " )"
+ ", (SELECT COALESCE(MAX(n.mld_opdr_note_aanmaak), TO_DATE('01-01-1970','dd-mm-yyyy'))"
+ " FROM mld_opdr_note n"
+ " WHERE n.mld_opdr_key = ro.mld_opdr_key"
+ " )"
+ ") lasttracknote"
+ " FROM mld_opdr ro"
+ " WHERE ro.mld_opdr_key = o.mld_opdr_key) mld_opdr_laatstgewijzigd"
+ " , o.mld_opdr_laatstgezien"
+ sqltrack
+ " , m.mld_melding_t_respijt.tijdsduur tijdsduur"
+ " , m.mld_melding_t_respijt.eenheid eenheid"

View File

@@ -324,6 +324,26 @@ function mld_list (pautfunction, params)
sqln += ", (SELECT COUNT(mld_opdr_key) FROM mld_opdr WHERE mld_melding_key = m.mld_melding_key) nrOrders"
// Heeft de melding een opdracht die recent is gewijzigd maar nog niet ingezien?
sqln += ", (SELECT MAX(CASE WHEN GREATEST( (SELECT COALESCE(MAX(t.fac_tracking_datum), TO_DATE('01-01-1970','dd-mm-yyyy'))"
+ " FROM fac_tracking t"
+ " , fac_srtnotificatie st"
+ " WHERE t.fac_srtnotificatie_key = st.fac_srtnotificatie_key"
+ " AND st.fac_srtnotificatie_code = 'ORDUPD'"
+ " AND st.fac_srtnotificatie_xmlnode = 'opdracht'"
+ " AND t.fac_tracking_refkey = ro.mld_opdr_key"
+ " )"
+ ", (SELECT COALESCE(MAX(n.mld_opdr_note_aanmaak), TO_DATE('01-01-1970','dd-mm-yyyy'))"
+ " FROM mld_opdr_note n"
+ " WHERE n.mld_opdr_key = ro.mld_opdr_key"
+ " )"
+ ") > ro.mld_opdr_laatstgezien"
+ " THEN 1"
+ " ELSE 0"
+ " END) isgewijzigd"
+ " FROM mld_opdr ro"
+ " WHERE ro.mld_melding_key = m.mld_melding_key) isGewijzigd"
sqln += ", m.mld_melding_spoed";
// Aantal actieve opdrachten
@@ -510,6 +530,9 @@ function mld_list (pautfunction, params)
class1 += " sd_"+oRs("ins_srtdiscipline_prefix").Value || "";
class1 += " d_"+oRs("ins_discipline_key").Value;
if (oRs("isGewijzigd").Value == 1)
class1 += " recentlychanged";
return class1;
}

View File

@@ -343,7 +343,16 @@ else
IFRAMER_HEADER((mld_opdr.act_key > 0? L("lcl_opdr_frame_algemeen_actie") : L("lcl_opdr_frame_algemeen")), buttons);
%>
<div id="show">
<% var buttons_rp = [];
<%
if (mld_opdr.recentgewijzigd)
{
var recent_txt = L("lcl_mld_opdr_changed") + toDateTimeString(mld_opdr.laatstgezien);
var buttons_rc = [{ title: L("lcl_mld_opdr_seen"), icon: "accept.png", action: "opdr_reset()" }];
%><div class="recentlychanged"><%=recent_txt%><%
CreateButtons(buttons_rc, { showIcons: true })
%></div><%
}
var buttons_rp = [];
buttons_rp.push({ title: L("lcl_goedkeur"), action: "$('div#dmodal').dialog('close').remove();" });
buttons_rp.push({ title: L("lcl_cancel"), action: "$('div#dmodal').dialog('close').remove();" });
%>

View File

@@ -110,6 +110,14 @@ function opdr_finish(urole)
opdr_change(urole, true)
}
function opdr_reset()
{
alert("reset datum laatstgezien");
var data = { opdr_key: opdr_key};
protectRequest.dataToken(data);
$.post("opdr_reset_changed.asp", data, FcltCallbackRefresh, "json");
}
function opdrAcceptOfferCallback(json, textStatus)
{
// Automatisch een vervolg uitvoeringsopdracht (opdr_type is mld_typeopdr_typeopdr_key) aanmaken

View File

@@ -284,12 +284,20 @@ function opdr_list(params)
{
class1 = " expired2";
}
var laatstgewijzigd = new Date(oRs("mld_opdr_laatstgewijzigd").Value);
var laatstgezien = new Date(oRs("mld_opdr_laatstgezien").Value);
var mld_recent = new Date(oRs("recentdatum").Value);
if (mld_recent > recent)
{
class1 += " updated";
}
if (laatstgewijzigd > laatstgezien)
{
class1 += " recentlychangedopdr";
}
return class1;
}

View File

@@ -0,0 +1,49 @@
<%@language = "javascript" %>
<% /*
$Revision$
$Id$
File: opdr_reset_changed.asp
Description: Zet mld_opdr_laatstgezien op sysdate zodat de opdracht niet meer als "gewijzigd" wordt gezien.
Parameters:
opdr_key Opdrachtnummers array (keys)
*/ %>
<%
var JSON_Result = true;
var opdr_key_arr = getFParamIntArray("opdr_key");
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/json2.js" -->
<!-- #include file="../shared/save2db.inc" -->
<!-- #include file="mld.inc" -->
<%
var result = { message: "", success: false };
var tobereset = 0;
var ingesloten = [];
// Bepaal de opdrachten in de selectie die ook echt gereset mogen worden.
for (var i = 0; i < opdr_key_arr.length; i++)
{
//var this_opdr = mld.func_enabled_opdracht(opdr_key_arr[i]); // wat mag ik zoal op deze opdracht
//if (this_opdr.canAccept)
//{
ingesloten.push(opdr_key_arr[i]);
tobereset++;
//}
}
user.auth_required_or_abort(tobereset > 0); // We klagen niet over enkele wel en enkele niet
if (ingesloten.length)
{
var sql = "UPDATE mld_opdr"
+ " SET mld_opdr_laatstgezien = SYSDATE"
+ " WHERE mld_opdr_key IN (" + ingesloten.join(",") + ")";
Oracle.Execute(sql);
}
result.success = true;
Response.Write(JSON.stringify(result));
%>