FSN#51804 Afh mld_merge_notes ook opdrachtvoortgang bij melding tonen

svn path=/Website/trunk/; revision=36527
This commit is contained in:
Peter Feij
2018-01-09 17:18:15 +00:00
parent 115699f991
commit 75575d6a82
2 changed files with 74 additions and 10 deletions

View File

@@ -272,6 +272,11 @@ var timestamp_notes = new Date();
buttons.push({ icon: "attach.png", title: L("lcl_appendixes"), action: 'Upload()' });
BLOCK_START("mldHistorie", (tracking?L("lcl_mld_behandeling"):L("lcl_mld_frame_notes")), { buttons: buttons });
// what info to show? determined by mld_merge_notes_and_tracking
// 0 = meldingnotes
// &1 = met meldingtracking (mits tracking)
// &2 = met opdrachtnotes (voor fe alleen indien tevens opdrachttype.zichtbaarfe=1)
// &4 = met opdrachttracking (voor fe alleen indien tevens opdrachttype.zichtbaarfe=1 en tracking)
sql = "SELECT n.mld_melding_note_aanmaak"
+ ", n.mld_melding_note_key"
@@ -280,13 +285,15 @@ var timestamp_notes = new Date();
+ ", n.mld_melding_note_omschrijving"
+ ", mld_melding_note_flag"
+ ", NULL fac_srtnotificatie_code"
+ ", 1 regeltype"
+ ", null suffix"
+ " FROM mld_melding_note n, prs_v_perslid_fullnames_all pf"
+ " WHERE n.prs_perslid_key = pf.prs_perslid_key (+)"
+ " AND n.mld_melding_key = " + mld_key
+ (mfe.haveOnlyFErights? " AND mld_melding_note_flag = 1" : "");
var sqls = [sql];
if (S("mld_merge_notes_and_tracking") == 1 && tracking) // tracking info erbij?
if (S("mld_merge_notes_and_tracking")&1 && tracking) // meldingtracking info erbij?
{
var sql = "SELECT tr.fac_tracking_datum"
+ " , tr.fac_tracking_key"
@@ -295,14 +302,59 @@ var timestamp_notes = new Date();
+ " , tr.fac_tracking_oms"
+ " , NULL mld_melding_note_flag"
+ " , str.fac_srtnotificatie_code"
+ " , 1 regeltype"
+ " , null suffix"
+ " FROM fac_tracking tr, fac_srtnotificatie str, prs_v_perslid_fullnames_all pf"
+ " WHERE tr.fac_srtnotificatie_key = str.fac_srtnotificatie_key"
+ " AND tr.prs_perslid_key = pf.prs_perslid_key (+)"
+ " AND str.fac_srtnotificatie_code <> 'MLDNOT'" // beetje dubbelop
+ " AND (tr.fac_tracking_refkey = " + mld_key + " AND str.fac_srtnotificatie_xmlnode IN ('melding'))";
sqls.push(sql)
+ " AND tr.fac_tracking_refkey = " + mld_key
+ " AND str.fac_srtnotificatie_xmlnode IN ('melding')";
sqls.push(sql);
}
sql = "SELECT * FROM ("+ sqls.join(" UNION ") + ") ORDER BY 1";
if (S("mld_merge_notes_and_tracking")&2) // opdrachtnotes erbij?
{
sql = "SELECT no.mld_opdr_note_aanmaak"
+ " , no.mld_opdr_note_key"
+ " , pf.prs_perslid_key"
+ " , pf.prs_perslid_naam_friendly"
+ " , no.mld_opdr_note_omschrijving"
+ " , DECODE(ty.mld_typeopdr_zichtbaarfe, 1, 1, 0) "
+ " , NULL"
+ " , 2 regeltype"
+ " , mld_opdr_bedrijfopdr_volgnr suffix"
+ " FROM mld_opdr_note no, prs_v_perslid_fullnames_all pf, mld_opdr o, mld_typeopdr ty"
+ " WHERE no.prs_perslid_key = pf.prs_perslid_key (+)"
+ " AND o.mld_opdr_key = no.mld_opdr_key"
+ " AND ty.mld_typeopdr_key = o.mld_typeopdr_key"
+ " AND no.mld_opdr_key IN (SELECT mld_opdr_key FROM mld_opdr WHERE mld_melding_key = " + mld_key + ")"
+ (mfe.haveOnlyFErights? " AND ty.mld_typeopdr_zichtbaarfe = 1" : "");
sqls.push(sql);
}
if (S("mld_merge_notes_and_tracking")&4 && tracking) // opdrachttracking info erbij?
{
var sql = "SELECT tr.fac_tracking_datum"
+ " , tr.fac_tracking_key"
+ " , tr.prs_perslid_key"
+ " , pf.prs_perslid_naam_friendly"
+ " , tr.fac_tracking_oms"
+ " , NULL mld_melding_note_flag"
+ " , str.fac_srtnotificatie_code"
+ " , 2 regeltype"
+ " , mld_opdr_bedrijfopdr_volgnr suffix"
+ " FROM fac_tracking tr, fac_srtnotificatie str, prs_v_perslid_fullnames_all pf, mld_opdr o, mld_typeopdr ty"
+ " WHERE tr.fac_srtnotificatie_key = str.fac_srtnotificatie_key"
+ " AND o.mld_opdr_key = tr.fac_tracking_refkey"
+ " AND tr.prs_perslid_key = pf.prs_perslid_key (+)"
+ " AND ty.mld_typeopdr_key = o.mld_typeopdr_key"
+ " AND tr.fac_tracking_refkey IN (SELECT mld_opdr_key FROM mld_opdr WHERE mld_melding_key = " + mld_key + ") "
+ " AND str.fac_srtnotificatie_xmlnode IN ('opdracht')"
+ (mfe.haveOnlyFErights? " AND ty.mld_typeopdr_zichtbaarfe = 1" : "");
sqls.push(sql);
}
sql = "SELECT * FROM ("+ sqls.join(" UNION ") + ") ORDER BY 1" + (S("mld_note_sort_ascending") == 0 ? " DESC" : "");
+ ", 2"+(S("mld_note_sort_ascending") == 0 ? " DESC" : ""); // ook bij gelijktijdigheid chronologisch
var oRs = Oracle.Execute(sql);
var lasttime = null;
@@ -310,6 +362,7 @@ var timestamp_notes = new Date();
while(!oRs.Eof)
{
var thisuser = oRs("prs_perslid_naam_friendly").Value;
var suffix = oRs("suffix").Value;
var prs_key = oRs("prs_perslid_key").Value;
var thistime = new Date(oRs("mld_melding_note_aanmaak").Value);
var timestr = toTimeString(thistime);
@@ -318,6 +371,8 @@ var timestamp_notes = new Date();
var fullname = fnPerslidNaamFull(oRs);
var last_note_key = oRs("mld_melding_note_key").Value;
var note_zichtbaarFE = oRs("mld_melding_note_flag").value == 1;
var cls_tr = " rt"+ oRs("regeltype").value; // 1=melding, 2=opdracht
var isvanOpdracht = oRs("regeltype").value == 2;
oRs.MoveNext();
var LastIsNote = oRs.Eof && !srtnoti;
var LastIsSelfNote = LastIsNote && user.isCollega(prs_key);
@@ -344,14 +399,16 @@ var timestamp_notes = new Date();
var safehtml = "";
cls_tr += (srtnoti ? " trtrack" : "");
if (note_oms) // Notitie of tracking met opgeslagen tekst
{
safehtml = safe.fclthtml(note_oms, true);
var edittm = timestr;
var cls = 'mldhtime';
var cls_tr = (srtnoti?" trtrack": "");
var suffixstr = suffix ? L("lcl_shared_order")+" "+suffix+": " : "";
var note_zichtbaarFE_class = (note_zichtbaarFE?"note_fe_visible":(srtnoti?"" :"note_fe_hidden"));
if (LastIsSelfNote)
if (LastIsSelfNote && !isvanOpdracht)
{
edittm += "<i class='fa fa-pencil fa-fw fa-lg details' onclick='mld_notechange(" + last_note_key + ")' title='" + L("lcl_change") + "'></i>";
var cls = " mldnoteedit";
@@ -371,9 +428,9 @@ var timestamp_notes = new Date();
Response.Write((fullname?"<span class='noter'>{0}</span><br>".format(fullname):"")
+ "{0}&nbsp;{1}</td>".format(dedatum, edittm=='00:00'?'':edittm));
if (srtnoti)
Response.Write(("<td><div>{0}</div></td></tr>").format(safehtml));
Response.Write(("<td><div>{1}{0}</div></td></tr>").format(safehtml, suffixstr));
else
Response.Write(("<td class='mldhandlingnote {0}'><div class='bubble'>{1}</div></td></tr>").format( note_zichtbaarFE_class, safehtml));
Response.Write(("<td class='mldhandlingnote {0}'><div class='bubble'>{2}{1}</div></td></tr>").format( note_zichtbaarFE_class, safehtml, suffixstr));
}
else if (srtnoti)
@@ -389,7 +446,7 @@ var timestamp_notes = new Date();
}
safehtml = arr.join("<br>");
}
Response.Write("<tr class='mldhandlingdiv" + clsself + " trtrack'><td class='mldhtime'>");
Response.Write("<tr class='mldhandlingdiv" + clsself + cls_tr +"'><td class='mldhtime'>");
if (!sameevent)
Response.Write(("<span class='noter'>{2}</span><br>{1}&nbsp;{0}").format(timestr, dedatum, fullname));
Response.Write(("</td><td"+(thisuser == null ? " class='system'" : "")+">{0}</td></tr>").format(safehtml));

View File

@@ -2909,7 +2909,7 @@ i.timeklikker {
.fldkpnlimiet, .fldcntverlengen, .fldroomkosten, .fldvoorzkosten, .fldroomkorting, .fldroomtotaal, .fldrvskosten, .fldrespijt,
.flduitvoertijd1, .flduitvoertijd2, .flduitvoertijd3, .flduitvoertijd4, .fldalg_uitvtijd, .fldbdr_uitvtijd, .fldins_uitvtijd, .fldmld_uitvtijd, .fldmld_accpettijd,
.flddayshours, .flddayshours3, .flddayshours1, .flddayshours2, .flddayshours4, .flddayshourse, .flddayshours_resp, .flddayshours_urg, .fldfreebudget,
.fldprocessingtime_eenheid {
.fldprocessingtime_eenheid, .fldaccepttime_eenheid {
width: 100px;
}
.fldregime
@@ -4657,6 +4657,13 @@ li#printhamburger {
top: 15px;
}
tr.rt2 {}
tr.rt2 .bubble {
background-color: #ffc073 !important;
}
tr.rt2 .bubble:after {
border-color: transparent #ffc073 !important;
}
tr.mldhandlingself .bubble {
background-color: #90E9A6 !important;
}