FSN#25251 Unload waarschuwing als nog hot tabbladen
svn path=/Website/trunk/; revision=16518
This commit is contained in:
154
APPL/API/api_XMLNode.asp
Normal file
154
APPL/API/api_XMLNode.asp
Normal file
@@ -0,0 +1,154 @@
|
||||
<%@ language = "JavaScript" %>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: api_SOAP.asp
|
||||
Description: API om een SOAP-achtige service te bieden
|
||||
Parameters:
|
||||
Context:
|
||||
Notes: Zie UWVA/KASPRS voor voorbeeld gebruik
|
||||
TODO: Parameters uit Request-SOAP bericht ook via een XLS er uit vogelen
|
||||
|
||||
*/
|
||||
DOCTYPE_Disable = 1;
|
||||
THIS_FILE = "appl/api/api_soap.asp";
|
||||
%>
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/xml_converter.inc" -->
|
||||
<!-- #include file="../api/api.inc" -->
|
||||
|
||||
<%
|
||||
Session.Codepage = 65001;
|
||||
Response.Charset = 'utf-8';
|
||||
|
||||
// Zet de loglevel in de API op 1 om de xml te loggen naar de TEMP folder
|
||||
function XML2TEMP(xml, postfix)
|
||||
{
|
||||
if (!API.apidata.loglevel) return;
|
||||
var in_file = Server.MapPath("./temp") + "/" + customerId + "_" + APIname + "_" + postfix + "_";
|
||||
var jsDate = new Date();
|
||||
var s = String(jsDate.getFullYear()) + padout(jsDate.getMonth() + 1) + padout(jsDate.getDate())
|
||||
+ padout(jsDate.getHours()) + padout(jsDate.getMinutes()) + padout(jsDate.getSeconds())
|
||||
in_file = in_file + s + ".xml";
|
||||
//Response.Write(in_file);Response.End;
|
||||
|
||||
var fs = Server.CreateObject("Scripting.FileSystemObject");
|
||||
var ts = fs.CreateTextFile(in_file, true, -1); // -1 voor de Unicode
|
||||
ts.WriteLine (xml); // Anders hier Invalid procedure call or argument
|
||||
ts.Close();
|
||||
}
|
||||
|
||||
var APIname = getQParam("API");
|
||||
var APIKEY = getQParam("APIKEY");
|
||||
var API = new API_func(APIname, APIKEY);
|
||||
Session("logging") = API.apidata.loglevel||0;
|
||||
|
||||
var xmlReq = Server.CreateObject("MSXML2.DOMDocument.4.0");
|
||||
xmlReq.load(Request);
|
||||
|
||||
XML2TEMP(xmlReq.xml, "IN");
|
||||
|
||||
var xmlnode = xmlReq.getElementsByTagName("xmlnode")[0].text;
|
||||
var beginTag = xmlReq.getElementsByTagName("begindatumtijd")[0].text;
|
||||
var eindTag = xmlReq.getElementsByTagName("einddatumtijd")[0].text;
|
||||
//var ekey = xmlReq.getElementsByTagName("key")[0].text;
|
||||
__Log("xmlnode: " + xmlnode);
|
||||
__Log("From: " + beginTag);
|
||||
__Log("To: " + eindTag);
|
||||
|
||||
var key = -1;
|
||||
var xtrakey = -1;
|
||||
var stylesheet = API.apidata.stylesheet;
|
||||
var srtnotificatie = "";
|
||||
|
||||
// TODO: View configureerbaar maken
|
||||
var whichSQL = "SELECT DISTINCT fac_srtnotificatie_xmlnode xmlnode, fac_tracking_refkey "
|
||||
+ " FROM fac_tracking ft, fac_srtnotificatie fs "
|
||||
+ " WHERE ft.fac_srtnotificatie_key = fs.fac_srtnotificatie_key "
|
||||
+ " AND fs.fac_srtnotificatie_xmlnode = " + safe.quoted_sql(xmlnode)
|
||||
+ " AND fac_tracking_datum BETWEEN TO_DATE("+safe.quoted_sql(beginTag)+", 'YYYY-MM-DD HH24:MI:SS')"
|
||||
+ " AND TO_DATE("+safe.quoted_sql(eindTag)+", 'YYYY-MM-DD HH24:MI:SS')"
|
||||
// UWVA sneller + " AND fac_tracking_key >= 11376454"
|
||||
+ " GROUP BY fac_srtnotificatie_xmlnode, fac_tracking_refkey";
|
||||
// whichSQL = "SELECT * FROM (" + whichSQL + ") WHERE ROWNUM < 5";
|
||||
|
||||
var oRsW = Oracle.Execute(whichSQL);
|
||||
var xml_nodes_arr = [];
|
||||
var xml_nodes_dom = new ActiveXObject("MSXML2.DOMDocument.4.0");
|
||||
|
||||
var FCLTElement = xml_nodes_dom.createElement("facilitor");
|
||||
var headerDone = false;
|
||||
where = "";
|
||||
while (!oRsW.Eof)
|
||||
{
|
||||
sql = "BEGIN xml.make_xml(" + safe.quoted_sql(oRsW("xmlnode").Value) + ", " + oRsW("fac_tracking_refkey").Value + " , "
|
||||
+ safe.quoted_sql(customerId) + ", " + safe.quoted_sql(Session.SessionId)
|
||||
+ ", " + xtrakey + ", " + safe.quoted_sql(where) + "); END;";
|
||||
|
||||
Oracle.Execute(sql);
|
||||
sql = "SELECT fac_xml_xml FROM fac_xml WHERE fac_session_id = " + safe.quoted_sql(Session.SessionId) + " ORDER BY fac_xml_volgnr";
|
||||
oRs = Oracle.Execute( sql);
|
||||
var xml_content_arr = [];
|
||||
while (!oRs.eof)
|
||||
{
|
||||
xml_content_arr.push(oRs(0).value);
|
||||
oRs.moveNext();
|
||||
}
|
||||
oRs.Close();
|
||||
var xml_content = xml_content_arr.join("");
|
||||
|
||||
// Loggen van de individuele XMLNODE's
|
||||
// XML2TEMP(xml_content, "XML_" + oRsW("xmlnode").Value + "_" + oRsW("fac_tracking_refkey").Value);
|
||||
|
||||
__Log("XML '" + oRsW("xmlnode").Value + "' voor key " + oRsW("fac_tracking_refkey").Value + " is " + xml_content.length + " karakters");
|
||||
|
||||
xml_nodes_arr.push(xml_content); // E<>n node
|
||||
var xmldoc = new ActiveXObject("Msxml2.DOMDocument.4.0");
|
||||
xmldoc.async = false;
|
||||
xmldoc.loadXML(xml_content);
|
||||
xmldoc.setProperty("SelectionLanguage", "XPath");
|
||||
if (!headerDone)
|
||||
{
|
||||
node = xmlReq.selectSingleNode("facilitor/getinfo");
|
||||
//var FCLTElement = xml_nodes_dom.createElement("begintimestamp");
|
||||
var sql = "SELECT (TO_DATE("+safe.quoted_sql(beginTag)+", 'YYYY-MM-DD HH24:MI:SS')"
|
||||
+ " - TO_DATE ('01-01-1970', 'DD-MM-YYYY')) * 86400 FROM DUAL"
|
||||
var ts = Oracle.Execute(sql);
|
||||
var tNode = xml_nodes_dom.createTextNode(ts(0).value);
|
||||
bnode = xml_nodes_dom.createElement("begintimestamp");
|
||||
bnode.appendChild(tNode)
|
||||
node.appendChild(bnode);
|
||||
FCLTElement.appendChild(node);
|
||||
|
||||
sql = "SELECT (TO_DATE("+safe.quoted_sql(eindTag)+", 'YYYY-MM-DD HH24:MI:SS')"
|
||||
+ " - TO_DATE ('01-01-1970', 'DD-MM-YYYY')) * 86400 FROM DUAL"
|
||||
ts = Oracle.Execute(sql);
|
||||
tNode = xml_nodes_dom.createTextNode(ts(0).value);
|
||||
bnode = xml_nodes_dom.createElement("eindtimestamp");
|
||||
bnode.appendChild(tNode)
|
||||
node.appendChild(bnode);
|
||||
FCLTElement.appendChild(node);
|
||||
|
||||
node = xmldoc.selectSingleNode("facilitor/header");
|
||||
FCLTElement.appendChild(node);
|
||||
node = xmldoc.selectSingleNode("facilitor/lcl"); // TODO: Eigenlijk wil je deze mergen over alle xmlNodes heen
|
||||
FCLTElement.appendChild(node);
|
||||
headerDone = true;
|
||||
}
|
||||
node = xmldoc.selectSingleNode("facilitor/" + oRsW("xmlnode").Value);
|
||||
FCLTElement.appendChild(node);
|
||||
|
||||
oRsW.moveNext();
|
||||
}
|
||||
oRsW.Close();
|
||||
xml_nodes_dom.appendChild(FCLTElement);
|
||||
|
||||
XML2TEMP(xml_nodes_dom.xml, "DATAXML");
|
||||
|
||||
Response.ContentType = "text/xml";
|
||||
mode = xmlnode; // is dit logisch? PF: volgens mij helemaal niet
|
||||
STR2Stream(xml_nodes_dom.xml, stylesheet, Response, mode, srtnotificatie);
|
||||
|
||||
Session.Abandon(); // Voor de zekerheid
|
||||
%>
|
||||
@@ -19,6 +19,8 @@
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/xml_converter.inc" -->
|
||||
<!-- #include file="../Shared/save2db.inc" -->
|
||||
<!-- #include file="../Shared/flexfiles.inc" -->
|
||||
<!-- #include file="../Shared/upload.inc" -->
|
||||
<!-- #include file="../api/api.inc" -->
|
||||
<!-- #include file="../mld/mld.inc" -->
|
||||
<%
|
||||
@@ -111,6 +113,7 @@
|
||||
var plaats_key = -1; // Bepaald op basis van meldgeb/meldver/meldrnr
|
||||
var meld_oms = XMLval(meldingen[i], "omschrijving");
|
||||
//var meldkenmerken = (meldingen[i].getElementsByTagName("kenmerk"))[0].childNodes[0].nodeValue; // Unsupported yet
|
||||
var mldkenmerken = meldingen[i].getElementsByTagName("kenmerk");
|
||||
var mld_key = -1; // Bepaald na insert
|
||||
|
||||
user.checkAutorisation("WEB_MLDUSE"); // Dit is nog ongeacht de melding
|
||||
@@ -214,6 +217,109 @@
|
||||
// Zetten van de status op ingevoerd en afhandelen van de tracking.
|
||||
mld.setmeldingstatus(mld_key, 2); // Zorgt ook voor tracking & daarmee notificatie.
|
||||
|
||||
// De kenmerken.
|
||||
for (j=0; j < mldkenmerken.length; j++)
|
||||
{
|
||||
var kenmerk_naam = mldkenmerken[j].getAttribute("naam");
|
||||
if (mldkenmerken[j].childNodes.length > 0)
|
||||
var kenmerk_waarde = mldkenmerken[j].childNodes[0].nodeValue;
|
||||
else
|
||||
var kenmerk_waarde = "";
|
||||
//Response.Write(kenmerk_naam);
|
||||
//Response.Write(kenmerk_waarde);
|
||||
// Zoek het kenmerk op naam terug
|
||||
ksql = "SELECT k.mld_kenmerk_key, sk.mld_srtkenmerk_kenmerktype, sk.mld_srtkenmerk_lengte "
|
||||
+ " FROM mld_kenmerk k"
|
||||
+ " , mld_srtkenmerk sk"
|
||||
+ " , mld_stdmelding s"
|
||||
+ " , mld_discipline d"
|
||||
+ " WHERE s.mld_ins_discipline_key = d.ins_discipline_key"
|
||||
+ " AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key "
|
||||
+ " AND sk.mld_srtkenmerk_upper = " + safe.quoted_sql_upper(kenmerk_naam)
|
||||
+ " AND s.mld_ins_discipline_key = d.ins_discipline_key"
|
||||
+ " AND s.mld_stdmelding_key = " + stdmld_key
|
||||
+ " AND ((k.mld_stdmelding_key = s.mld_stdmelding_key AND k.mld_kenmerk_niveau = 'S')"
|
||||
+ " OR (k.mld_stdmelding_key = s.mld_ins_discipline_key AND k.mld_kenmerk_niveau = 'D')"
|
||||
+ " OR (k.mld_stdmelding_key = d.ins_srtdiscipline_key AND k.mld_kenmerk_niveau = 'T'))";
|
||||
|
||||
var oRs = Oracle.Execute(ksql);
|
||||
|
||||
if (!oRs.eof)
|
||||
{
|
||||
var kenmerk_key = oRs("mld_kenmerk_key").value;
|
||||
var kenmerk_type = oRs("mld_srtkenmerk_kenmerktype").value;
|
||||
var kenmerk_lengte = oRs("mld_srtkenmerk_lengte").value;
|
||||
|
||||
ksql = "SELECT km.mld_kenmerkmelding_key "
|
||||
+ " FROM mld_kenmerkmelding km "
|
||||
+ " WHERE km.mld_melding_key = " + mld_key
|
||||
+ " AND km.mld_kenmerk_key = " + kenmerk_key;
|
||||
var oRs = Oracle.Execute(ksql);
|
||||
|
||||
switch (kenmerk_type)
|
||||
{
|
||||
case 'C':
|
||||
{
|
||||
// we ondersteunen alleen nog maar karakter velden.
|
||||
if (!oRs.eof)
|
||||
{
|
||||
var kenmerkmelding_key = oRs("mld_kenmerkmelding_key").value;
|
||||
ksql = "UPDATE mld_kenmerkmelding"
|
||||
+ " SET mld_kenmerkmelding_waarde = " + safe.quoted_sql(kenmerk_waarde)
|
||||
+ " WHERE mld_kenmerkmelding_key = " + kenmerkmelding_key;
|
||||
}
|
||||
else
|
||||
{
|
||||
ksql = "INSERT INTO mld_kenmerkmelding (mld_kenmerk_key, mld_melding_key, mld_kenmerkopdr_waarde) "
|
||||
+ "VALUES (" + kenmerk_key + ", " + mld_key + ", " + safe.quoted_sql(kenmerk_waarde) + ")";
|
||||
}
|
||||
Oracle.Execute(ksql);
|
||||
break;
|
||||
}
|
||||
case "M": // Folder met bijlagen
|
||||
{
|
||||
//Response.Write(kenmerk_naam);
|
||||
var bijlagen = mldkenmerken[j].getElementsByTagName("bijlage");
|
||||
var bi;
|
||||
for (bi = 0; bi < bijlagen.length; bi++)
|
||||
{
|
||||
var Attachment = XMLval(bijlagen[bi], "attachment");
|
||||
var Name = XMLval(bijlagen[bi], "name");
|
||||
var Size = XMLval(bijlagen[bi], "size");
|
||||
//Response.Write("Name: " + Name + " size: " + Size);
|
||||
if (Attachment && Name && Size)
|
||||
{
|
||||
var SafeName = safe.filename(Name);
|
||||
var params = flexProps("MLD", mld_key, String(kenmerk_key), "M");
|
||||
if (params.extFilter)
|
||||
{
|
||||
var regFilter = params.extFilter;
|
||||
regFilter = regFilter.replace(/( |,|;)/g,"|"); // Altijd | karakter
|
||||
regFilter = ".*\\." + "(" + regFilter + ")$"; // er moet een punt voor en extensie is aan het einde
|
||||
}
|
||||
else
|
||||
regFilter = ".*";
|
||||
if (!new RegExp(S("flexAllowedExt"), "ig").test(SafeName) ||
|
||||
!new RegExp(regFilter, "ig").test(SafeName))
|
||||
{
|
||||
__DoLog("Unsafe SOAP file '{0}' ignored.".format(SafeName), "#FFFF00");
|
||||
}
|
||||
else
|
||||
{
|
||||
__Log("Start saving: " + params.AttachPath + SafeName);
|
||||
CreateFullPath(params.AttachPath);
|
||||
VB_SaveFile(params.AttachPath + SafeName, Attachment)
|
||||
__Log("Done saving: " + params.AttachPath + SafeName);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
oRs.Close();
|
||||
}
|
||||
}
|
||||
|
||||
resultcode = 0; // Ik heb gedaan wat ik moest en mocht doen voor deze melding.
|
||||
// En nog maar even de aanname dat een extern systeem niet aan workflows/ktos doet?
|
||||
}
|
||||
@@ -229,7 +335,7 @@
|
||||
}
|
||||
|
||||
var FCLTBody = xmlResp.createElement("melding"); // type=response
|
||||
FCLTBody.setAttribute('key', ext_id);
|
||||
FCLTBody.setAttribute('key', ext_id); // Let op: key van de aanroeper!
|
||||
FCLTBody.setAttribute('type', 'response');
|
||||
for (param in binfo)
|
||||
{
|
||||
@@ -247,3 +353,57 @@
|
||||
Response.ContentType = "text/xml";
|
||||
Response.Write(xmlResp.xml)
|
||||
%>
|
||||
<script language="VBScript" runat="Server">
|
||||
' JavaScript is erg slecht in binary data, dat doen we dan maar met VBScript.
|
||||
Function HexDecode(ByVal vCode)
|
||||
Dim oXML, oNode
|
||||
|
||||
Set oXML = CreateObject("MSXML2.DOMDocument.4.0")
|
||||
Set oNode = oXML.CreateElement("hex")
|
||||
oNode.dataType = "bin.hex" ' Zeer snelle oplossing
|
||||
oNode.text = vCode
|
||||
Set HexDecode = Stream_BinaryToStream(oNode.nodeTypedValue)
|
||||
Set oNode = Nothing
|
||||
Set oXML = Nothing
|
||||
End Function
|
||||
|
||||
'Stream_BinaryToStream Function
|
||||
'2003 Antonin Foller, http://www.motobit.com
|
||||
'Binary - VT_UI1 | VT_ARRAY data To convert To a string
|
||||
Function Stream_BinaryToStream(Binary)
|
||||
Const adTypeText = 2
|
||||
Const adTypeBinary = 1
|
||||
|
||||
'Create Stream object
|
||||
Dim BinaryStream 'As New Stream
|
||||
Set BinaryStream = CreateObject("ADODB.Stream")
|
||||
|
||||
'Specify stream type - we want To save binary data.
|
||||
BinaryStream.Type = adTypeBinary
|
||||
|
||||
'Open the stream And write binary data To the object
|
||||
BinaryStream.Open
|
||||
BinaryStream.Write Binary
|
||||
|
||||
'Change stream type To text/string
|
||||
BinaryStream.Position = 0
|
||||
BinaryStream.Type = adTypeText
|
||||
|
||||
'Specify charset For the output text (unicode) data.
|
||||
BinaryStream.CharSet = "us-ascii"
|
||||
|
||||
'Open the stream And get text/string data from the object
|
||||
Set Stream_BinaryToStream = BinaryStream
|
||||
|
||||
End Function
|
||||
|
||||
Function VB_SaveFile(safefullname, attachment)
|
||||
Set BinaryStream = HexDecode(attachment)
|
||||
|
||||
'' on error resume next
|
||||
'Save binary data To disk
|
||||
BinaryStream.SaveToFile safefullname, 2 ' adSaveCreateOverWrite
|
||||
myErr = Err.Description
|
||||
'' on error goto 0
|
||||
End Function
|
||||
</script>
|
||||
|
||||
@@ -187,7 +187,7 @@
|
||||
var maxmarge = new Date();
|
||||
maxmarge.setDate(maxmarge.getDate() - mld_opdr.typeopdr_afmeldmarge);
|
||||
if (mut_datum < maxmarge)
|
||||
mut_datum = null; // te lang geleden
|
||||
mut_datum = new Date(); // te lang geleden
|
||||
}
|
||||
|
||||
|
||||
@@ -331,16 +331,16 @@
|
||||
}
|
||||
|
||||
//Response.Write("lengte:"+ opdrkenmerken.length);
|
||||
for (i=0; i < opdrkenmerken.length; i++)
|
||||
for (j=0; j < opdrkenmerken.length; j++)
|
||||
{
|
||||
var kenmerk_naam = opdrkenmerken[i].getAttribute("naam");
|
||||
var kenmerk_waarde = opdrkenmerken[i].childNodes[0].nodeValue;
|
||||
var kenmerk_naam = opdrkenmerken[j].getAttribute("naam");
|
||||
var kenmerk_waarde = opdrkenmerken[j].childNodes[0].nodeValue;
|
||||
//Response.Write(kenmerk_naam);
|
||||
//Response.Write(kenmerk_waarde);
|
||||
ksql = "SELECT k.mld_kenmerk_key, sk.mld_srtkenmerk_kenmerktype, sk.mld_srtkenmerk_lengte "
|
||||
+ " FROM mld_kenmerk k, mld_srtkenmerk sk "
|
||||
+ " WHERE k.mld_typeopdr_key = " + topdr_key
|
||||
+ " AND k.mld_srtkenmerk_key = k.mld_srtkenmerk_key "
|
||||
+ " AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key "
|
||||
+ " AND sk.mld_srtkenmerk_upper = " + safe.quoted_sql_upper(kenmerk_naam);
|
||||
var oRs = Oracle.Execute(ksql);
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ var bes_bestelling = bes.bestelling_info(bes_bestelopdr.bes_key_str[0]);
|
||||
|
||||
var authparams = user.checkAutorisation(autfunction);
|
||||
// TODO: Scherper
|
||||
user.auth_required_or_abort(authparams.ALGwritelevel < 9 && authparams.PRSwritelevel);
|
||||
user.auth_required_or_abort(authparams.ALGwritelevel < 9 && authparams.PRSwritelevel < 9);
|
||||
|
||||
var submitting = getQParamInt("submit", 0) == 1;
|
||||
if (submitting)
|
||||
@@ -52,7 +52,6 @@ var bes_bestelling = bes.bestelling_info(bes_bestelopdr.bes_key_str[0]);
|
||||
|
||||
for (i = 1; i <= itemregels; i++)
|
||||
{
|
||||
comment = "" + Request('ita' + i);
|
||||
cnt = getFParamInt('cnt' + i);
|
||||
ikey = getFParamInt('ikey' + i);
|
||||
// TODO: Moet (desnoods) prijs niet overgenomen uit bes_bestelling_item_prijs?
|
||||
@@ -67,7 +66,7 @@ var bes_bestelling = bes.bestelling_info(bes_bestelopdr.bes_key_str[0]);
|
||||
Oracle.Execute(sql);
|
||||
}
|
||||
|
||||
var fields = [ { dbs: "bes_bestelopdr_opmerking", typ: "varchar", frm: "opmerk" },
|
||||
var fields = [ { dbs: "bes_bestelopdr_opmerking", typ: "varchar", frm: "opmerk", len: 320 },
|
||||
{ dbs: "mld_adres_key_lev", typ: "key", frm: "levering" } ,
|
||||
{ dbs: "mld_adres_key_fac", typ: "key", frm: "factuur" }
|
||||
];
|
||||
@@ -99,6 +98,13 @@ var bes_bestelling = bes.bestelling_info(bes_bestelopdr.bes_key_str[0]);
|
||||
{
|
||||
FcltMgr.closeDetail(window, { cancel: true } );
|
||||
}
|
||||
|
||||
jQuery(document).ready(function()
|
||||
{
|
||||
$('textarea').resize(function() { FcltMgr.resized(window) });
|
||||
$('textarea').autogrow();
|
||||
});
|
||||
|
||||
</script>
|
||||
<body id="editbody">
|
||||
<%
|
||||
|
||||
@@ -99,6 +99,11 @@ var this_bestelopdr = bes.func_enabled_bestelopdracht(opdr_key);
|
||||
if (FcltMgr.startEdit(window))
|
||||
window.location.href = "bes_edit_opdr.asp?urole=<%=urole%>&ordernr=<%=opdr_key%>";
|
||||
}
|
||||
jQuery(document).ready(function()
|
||||
{
|
||||
$('textarea').resize(function() { FcltMgr.resized(window) });
|
||||
$('textarea').autogrow();
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
|
||||
|
||||
@@ -82,7 +82,7 @@ var alert_txt = "";
|
||||
|
||||
|
||||
// Deze velden altijd opslaan
|
||||
var fields = [ { dbs: "prs_perslid_key", typ: "key", val: user_key, track: L("lcl_prs_name"), foreign: "prs_perslid" },
|
||||
var fields = [ { dbs: "prs_perslid_key", typ: "key", val: user_key /* invoerder, notrack */ },
|
||||
{ dbs: "bez_afspraak_datum", typ: "datetime", val: date_from, track: L("lcl_vis_start_date") },
|
||||
{ dbs: "bez_actie_key", typ: "key", frm: "actie", track: L("lcl_action"), foreign: "bez_actie" },
|
||||
{ dbs: "bez_afspraak_eind", typ: "datetime", val: date_to, track: L("lcl_vis_end_date") },
|
||||
|
||||
@@ -127,8 +127,8 @@ function cnt_list (pautfunction, params)
|
||||
}
|
||||
%>
|
||||
<script type="text/javascript">
|
||||
// Text strings used by cnt_list.js
|
||||
var urole = "<%=urole%>";
|
||||
// Text strings used by cnt_list.js
|
||||
var urole = "<%=urole%>";
|
||||
</script>
|
||||
</head>
|
||||
<body id="listbody">
|
||||
@@ -145,42 +145,41 @@ function cnt_list (pautfunction, params)
|
||||
+ " AND sn.fac_srtnotificatie_xmlnode = 'contract') recentdatum";
|
||||
|
||||
sql = "SELECT c.cnt_contract_nummer"
|
||||
+ ", c.cnt_contract_versie"
|
||||
+ ", c.cnt_contract_omschrijving"
|
||||
+ ", COALESCE(b.prs_bedrijf_naam, afd2.prs_afdeling_naam) uitvoerder"
|
||||
+ ", " + S("prs_dep_string") + " eigenaar"
|
||||
+ ", c.cnt_contract_looptijd_van begindatum"
|
||||
+ ", c.cnt_contract_looptijd_tot einddatum"
|
||||
+ ", cnt.cnt_getOpzegdatum(c.cnt_contract_key) cnt_opzegdatum"
|
||||
+ ", cnt.cnt_getRappeldatum(c.cnt_contract_key) cnt_rappeldatum"
|
||||
+ ", cnt.cnt_contract_status("
|
||||
+ " c.cnt_contract_looptijd_van"
|
||||
+ ", cnt.cnt_getRappeldatum(c.cnt_contract_key)"
|
||||
+ ", cnt.cnt_getOpzegdatum(c.cnt_contract_key)"
|
||||
+ ", c.cnt_contract_looptijd_tot) status"
|
||||
+ ", ''"
|
||||
+ ", c.cnt_contract_status"
|
||||
+ ", c.cnt_contract_key cnt_contract_key"
|
||||
+ ", COALESCE(c.ins_discipline_key, -1) disc_key"
|
||||
+ ", c.prs_afdeling_key_eig eigenaar_key"
|
||||
+ ", c.cnt_contract_nummer_intern"
|
||||
+ ", dp.cnt_srtcontract_type"
|
||||
+ ", alg_locatie_oms"
|
||||
+ ", alg_locatie_omschrijving"
|
||||
+ ", alg_district_omschrijving"
|
||||
+ ", alg_locatie_code"
|
||||
+ ", alg_locatie_count"
|
||||
+ ", c.ins_discipline_key"
|
||||
+ ", "+ lcl.xsqla('cd.ins_discipline_omschrijving','cd.ins_discipline_key')
|
||||
+ ", c.cnt_contract_kosten"
|
||||
+ " , c.cnt_contract_versie"
|
||||
+ " , c.cnt_contract_omschrijving"
|
||||
+ " , COALESCE(b.prs_bedrijf_naam, afd2.prs_afdeling_naam) uitvoerder"
|
||||
+ " , " + S("prs_dep_string") + " eigenaar"
|
||||
+ " , c.cnt_contract_looptijd_van begindatum"
|
||||
+ " , c.cnt_contract_looptijd_tot einddatum"
|
||||
+ " , cnt.cnt_getOpzegdatum(c.cnt_contract_key) cnt_opzegdatum"
|
||||
+ " , cnt.cnt_getRappeldatum(c.cnt_contract_key) cnt_rappeldatum"
|
||||
+ " , cnt.cnt_contract_status("
|
||||
+ " c.cnt_contract_looptijd_van"
|
||||
+ " , cnt.cnt_getRappeldatum(c.cnt_contract_key)"
|
||||
+ " , cnt.cnt_getOpzegdatum(c.cnt_contract_key)"
|
||||
+ " , c.cnt_contract_looptijd_tot) status"
|
||||
+ " , c.cnt_contract_status"
|
||||
+ " , c.cnt_contract_key cnt_contract_key"
|
||||
+ " , COALESCE(c.ins_discipline_key, -1) disc_key"
|
||||
+ " , c.prs_afdeling_key_eig eigenaar_key"
|
||||
+ " , c.cnt_contract_nummer_intern"
|
||||
+ " , dp.cnt_srtcontract_type"
|
||||
+ " , alg_locatie_oms"
|
||||
+ " , alg_locatie_omschrijving"
|
||||
+ " , alg_district_omschrijving"
|
||||
+ " , alg_locatie_code"
|
||||
+ " , alg_locatie_count"
|
||||
+ " , c.ins_discipline_key"
|
||||
+ " , " + lcl.xsqla('cd.ins_discipline_omschrijving','cd.ins_discipline_key')
|
||||
+ " , c.cnt_contract_kosten"
|
||||
+ sqltrack
|
||||
+ " FROM prs_v_aanwezigbedrijf b"
|
||||
+ ", cnt_v_aanwezigcontract c"
|
||||
+ ", prs_v_afdeling d"
|
||||
+ ", prs_afdeling afd2"
|
||||
+ ", alg_district ad"
|
||||
+ ", cnt_disc_params dp"
|
||||
+ ", cnt_discipline cd";
|
||||
+ " FROM prs_v_aanwezigbedrijf b"
|
||||
+ " , cnt_v_aanwezigcontract c"
|
||||
+ " , prs_v_afdeling d"
|
||||
+ " , prs_afdeling afd2"
|
||||
+ " , alg_district ad"
|
||||
+ " , cnt_disc_params dp"
|
||||
+ " , cnt_discipline cd";
|
||||
|
||||
// Om drie redenen hebben we de locatie_key nodig in de hoofd query
|
||||
// - Voor als de gebruiker filtert op locatie (optioneel)
|
||||
@@ -190,55 +189,55 @@ function cnt_list (pautfunction, params)
|
||||
// Voor de tweede is sql_cnt_loc_key die groeppeert en telt per locatie
|
||||
// LET OP: - type 4 (algemeen / generiek) zit er niet in
|
||||
sql_cnt_loc_keyA = " SELECT cp.cnt_contract_key"
|
||||
+ ", cp.cnt_alg_plaats_key alg_locatie_key"
|
||||
+ ", NULL alg_gebouw_key"
|
||||
+ " FROM cnt_contract_plaats cp"
|
||||
+ " WHERE cnt_alg_plaats_code = 'L'"
|
||||
+ " , cp.cnt_alg_plaats_key alg_locatie_key"
|
||||
+ " FROM cnt_contract_plaats cp"
|
||||
+ " WHERE cnt_alg_plaats_code = 'L'"
|
||||
+ " UNION ALL"
|
||||
+ " SELECT cp.cnt_contract_key"
|
||||
+ ", g.alg_locatie_key"
|
||||
+ ", g.alg_gebouw_key"
|
||||
+ " FROM cnt_contract_plaats cp, alg_gebouw g"
|
||||
+ " WHERE cnt_alg_plaats_code = 'G'"
|
||||
+ " AND cp.cnt_alg_plaats_key = g.alg_gebouw_key"
|
||||
+ " , g.alg_locatie_key"
|
||||
+ " FROM cnt_contract_plaats cp, alg_gebouw g"
|
||||
+ " WHERE cnt_alg_plaats_code = 'G'"
|
||||
+ " AND cp.cnt_alg_plaats_key = g.alg_gebouw_key"
|
||||
+ " UNION ALL"
|
||||
+ " SELECT cp.cnt_contract_key"
|
||||
+ " , t.alg_locatie_key"
|
||||
+ " FROM cnt_contract_plaats cp, alg_terreinsector t"
|
||||
+ " WHERE cnt_alg_plaats_code = 'T'"
|
||||
+ " AND cp.cnt_alg_plaats_key = t.alg_terreinsector_key"
|
||||
+ " UNION ALL"
|
||||
+ " SELECT co.cnt_contract_key"
|
||||
+ ", d.ins_alg_locatie_key"
|
||||
+ ", NULL"
|
||||
+ " FROM cnt_contract_object co"
|
||||
+ ", ins_deel d"
|
||||
+ " WHERE co.cnt_ins_deel_key = d.ins_deel_key"
|
||||
+ " , d.ins_alg_locatie_key"
|
||||
+ " FROM cnt_contract_object co"
|
||||
+ " , ins_deel d"
|
||||
+ " WHERE co.cnt_ins_deel_key = d.ins_deel_key"
|
||||
+ " UNION ALL"
|
||||
+ " SELECT co.cnt_contract_key"
|
||||
+ ", g.alg_locatie_key"
|
||||
+ ", g.alg_gebouw_key"
|
||||
+ " , g.alg_locatie_key"
|
||||
+ " FROM cnt_contract_onrgoed co"
|
||||
+ ", alg_gebouw g"
|
||||
+ ", alg_verdieping v"
|
||||
+ ", alg_ruimte r"
|
||||
+ " WHERE co.ALG_ONRGOED_NIVEAU = 'R'"
|
||||
+ " AND co.ALG_ONRGOED_KEY = r.alg_ruimte_key"
|
||||
+ " AND r.alg_verdieping_key = v.alg_verdieping_key"
|
||||
+ " AND v.alg_gebouw_key = g.alg_gebouw_key"
|
||||
+ " , alg_gebouw g"
|
||||
+ " , alg_verdieping v"
|
||||
+ " , alg_ruimte r"
|
||||
+ " WHERE co.alg_onrgoed_niveau = 'R'"
|
||||
+ " AND co.alg_onrgoed_key = r.alg_ruimte_key"
|
||||
+ " AND r.alg_verdieping_key = v.alg_verdieping_key"
|
||||
+ " AND v.alg_gebouw_key = g.alg_gebouw_key"
|
||||
+ " UNION ALL"
|
||||
+ " SELECT co.cnt_contract_key"
|
||||
+ ", t.alg_locatie_key"
|
||||
+ ", null"
|
||||
+ " FROM cnt_contract_onrgoed co, alg_terreinsector t"
|
||||
+ " WHERE co.ALG_ONRGOED_NIVEAU = 'T'"
|
||||
+ " AND co.ALG_ONRGOED_KEY = t.alg_terreinsector_key";
|
||||
+ " , t.alg_locatie_key"
|
||||
+ " FROM cnt_contract_onrgoed co, alg_terreinsector t"
|
||||
+ " WHERE co.alg_onrgoed_niveau = 'T'"
|
||||
+ " AND co.alg_onrgoed_key = t.alg_terreinsector_key";
|
||||
|
||||
sql_cnt_loc_key = "SELECT MIN(alg_locatie_omschrijving || ' (' || alg_locatie_code || ')') alg_locatie_oms"
|
||||
+ ", MIN(alg_locatie_omschrijving) alg_locatie_omschrijving"
|
||||
+ ", MIN(alg_locatie_code) alg_locatie_code"
|
||||
+ ", MIN(alg_district_key) alg_district_key"
|
||||
+ ", cnt_contract_key"
|
||||
+ ", MIN(ll.alg_locatie_key) alg_locatie_key"
|
||||
+ ", MIN(alg_gebouw_key) alg_gebouw_key"
|
||||
+ ", COUNT(distinct alg_locatie_code) alg_locatie_count"
|
||||
+ " FROM alg_locatie ll"
|
||||
+ ", (" + sql_cnt_loc_keyA + ") scloc"
|
||||
+ " WHERE ll.alg_locatie_key = scloc.alg_locatie_key"
|
||||
+ " , MIN(alg_locatie_omschrijving) alg_locatie_omschrijving"
|
||||
+ " , MIN(alg_locatie_code) alg_locatie_code"
|
||||
+ " , MIN(alg_district_key) alg_district_key"
|
||||
+ " , cnt_contract_key"
|
||||
+ " , MIN(ll.alg_locatie_key) alg_locatie_key"
|
||||
+ " , COUNT(distinct alg_locatie_code) alg_locatie_count"
|
||||
+ " FROM alg_locatie ll"
|
||||
+ " , (" + sql_cnt_loc_keyA + ") scloc"
|
||||
+ " WHERE ll.alg_locatie_key = scloc.alg_locatie_key"
|
||||
+ " GROUP BY cnt_contract_key";
|
||||
|
||||
|
||||
@@ -254,41 +253,41 @@ function cnt_list (pautfunction, params)
|
||||
|
||||
if (cntsrt_key)
|
||||
{
|
||||
sql += " AND c.ins_discipline_key = " + cntsrt_key;
|
||||
sql += " AND c.ins_discipline_key = " + cntsrt_key;
|
||||
}
|
||||
|
||||
sql += getKenmerkSql("CNT", "c.cnt_contract_key", true);
|
||||
// Dienst
|
||||
if (dienst_key)
|
||||
{
|
||||
sql += " AND (c.prs_dienst_key = " + dienst_key
|
||||
+ " OR (c.prs_dienst_key IS NULL "
|
||||
+ " AND EXISTS (SELECT '' FROM prs_bedrijfdienstlocatie dl "
|
||||
+ " WHERE dl.prs_bedrijf_key = b.prs_bedrijf_key AND dl.prs_dienst_key = " + dienst_key +")))";
|
||||
sql += " AND (c.prs_dienst_key = " + dienst_key
|
||||
+ " OR (c.prs_dienst_key IS NULL "
|
||||
+ " AND EXISTS (SELECT '' FROM prs_bedrijfdienstlocatie dl "
|
||||
+ " WHERE dl.prs_bedrijf_key = b.prs_bedrijf_key AND dl.prs_dienst_key = " + dienst_key +")))";
|
||||
}
|
||||
|
||||
// Uitvoerder
|
||||
if (uitvoerder_key)
|
||||
{
|
||||
sql += " AND b.prs_bedrijf_key = " + uitvoerder_key;
|
||||
sql += " AND b.prs_bedrijf_key = " + uitvoerder_key;
|
||||
}
|
||||
|
||||
// Mantel
|
||||
if (mantel_key)
|
||||
{
|
||||
sql += " AND c.cnt_contract_mantel_key = " + mantel_key;
|
||||
sql += " AND c.cnt_contract_mantel_key = " + mantel_key;
|
||||
}
|
||||
|
||||
// Afdeling (Eigenaar)
|
||||
if (eigenaar_key)
|
||||
{
|
||||
sql += " AND c.prs_afdeling_key_eig = " + eigenaar_key;
|
||||
sql += " AND c.prs_afdeling_key_eig = " + eigenaar_key;
|
||||
}
|
||||
|
||||
// Beheerder
|
||||
if (beheerder_key)
|
||||
{
|
||||
sql += " AND c.prs_perslid_key_beh = " + beheerder_key;
|
||||
sql += " AND c.prs_perslid_key_beh = " + beheerder_key;
|
||||
}
|
||||
|
||||
// Regio, District, Locatie en gebouw
|
||||
@@ -430,7 +429,6 @@ function cnt_list (pautfunction, params)
|
||||
+ ", di.alg_regio_key"
|
||||
+ ", ll.alg_district_key"
|
||||
+ ", clk.alg_locatie_key"
|
||||
+ ", clk.alg_gebouw_key"
|
||||
+ " FROM (" + sql_cnt_loc_keyA + ") clk"
|
||||
+ ", cnt_contract cc"
|
||||
+ ", alg_locatie ll"
|
||||
@@ -574,8 +572,8 @@ function cnt_list (pautfunction, params)
|
||||
var buttons = [];
|
||||
if (authparamsCNTMAN && authparamsCNTMAN.ALGwritelevel < 9 && authparamsCNTMAN.PRSwritelevel < 9)
|
||||
{
|
||||
var addurl = "appl/cnt/cnt_contract.asp?urole=bo";
|
||||
buttons.push({ icon: "plus.png", title: L("lcl_add"), action: "FcltMgr.openDetail('"+addurl+"', '"+L("lcl_add")+"')" });
|
||||
var addurl = "appl/cnt/cnt_contract.asp?urole=bo";
|
||||
buttons.push({ icon: "plus.png", title: L("lcl_add"), action: "FcltMgr.openDetail('"+addurl+"', '"+L("lcl_add")+"')" });
|
||||
}
|
||||
var rst = new ResultsetTable({ keyColumn: "cnt_contract_key",
|
||||
ID: "cnttable",
|
||||
|
||||
@@ -189,11 +189,12 @@ var authparams = user.checkAutorisation(autfunction);
|
||||
<td><input type="text" class="flddescript" name="descript" value="<%=safe.htmlattr(descript)%>"></td>
|
||||
</tr>
|
||||
|
||||
<% // <!-- Locatie en gebouw -->
|
||||
<% // <!-- Locatie en gebouw/terrein -->
|
||||
FCLTplaatsselector(authparams.ALGreadlevel, { regiokey: reg_key,
|
||||
districtkey: dist_key,
|
||||
locatiekey: loc_key,
|
||||
gebouwkey: bld_key,
|
||||
terrein: true,
|
||||
startlevel: alg_startlevel,
|
||||
eindlevel: 3, // gebouw
|
||||
secsearch: 2,
|
||||
|
||||
@@ -94,6 +94,21 @@
|
||||
FcltMgr.setData("expired", RefreshFacilitor);
|
||||
<% if (!noTabs) { %>
|
||||
FcltMgr.HostTabs("maintabs");
|
||||
window.onbeforeunload = /*FcltMgr.*/confirmExit;
|
||||
function confirmExit()
|
||||
{
|
||||
var anyHot = false;
|
||||
for (var i=FcltMgr._pageManager._$tabshost.tabs('length')-1; i>0 && !anyHot; i--)
|
||||
{
|
||||
if (FcltMgr._pageManager._panelHot(i))
|
||||
anyHot = true;
|
||||
}
|
||||
if (anyHot)
|
||||
return L("lcl_shared_closeandignore");
|
||||
else
|
||||
return;
|
||||
}
|
||||
$(window).resize(function () {/* FcltMgr.resized(); */});
|
||||
<% }
|
||||
extra="";
|
||||
if (Session("logging")>0 && this.Oracle)
|
||||
@@ -153,7 +168,7 @@
|
||||
|
||||
$(".menukop").click(function(){ $(this).nextAll("ul").toggle()});
|
||||
|
||||
<% if (!noTabs) { %>
|
||||
<% if (!noTabs) {%>
|
||||
FcltMgr.openDetail("<%=firstPage%>", L("lcl_body_portal"), { noclose: true });
|
||||
<% } %>
|
||||
});
|
||||
|
||||
@@ -467,7 +467,7 @@ fac = {myfunctionssqlstring:
|
||||
+ " , ins_srtdiscipline sd"
|
||||
+ " , (SELECT o1.mld_melding_key"
|
||||
+ " , COUNT (o1.mld_opdr_key) aantal_opdrachten"
|
||||
+ " , MAX(o1.mld_opdr_datumbegin) lastopdrachtdatum"
|
||||
+ " , MAX(o1.mld_opdr_bedrijfopdr_volgnr) lastopdrachtvolgnr"
|
||||
+ " FROM mld_opdr o1"
|
||||
+ " , mld_typeopdr mto"
|
||||
+ " WHERE o1.mld_typeopdr_key = mto.mld_typeopdr_key"
|
||||
@@ -486,7 +486,7 @@ fac = {myfunctionssqlstring:
|
||||
+ " AND ot.mld_typeopdr_isofferte = 1"
|
||||
+ " AND o.mld_melding_key = opdracht.mld_melding_key(+)"
|
||||
+ " AND (opdracht.aantal_opdrachten IS NULL"
|
||||
+ " OR opdracht.lastopdrachtdatum < o.mld_opdr_datumbegin)"
|
||||
+ " OR opdracht.lastopdrachtvolgnr < o.mld_opdr_bedrijfopdr_volgnr)"
|
||||
+ " AND o.mld_statusopdr_key IN (6)"
|
||||
+ " AND m.mld_alg_locatie_key = l.alg_locatie_key(+)"
|
||||
+ " AND m.mld_alg_onroerendgoed_keys = onrg.alg_onroerendgoed_keys(+)"
|
||||
|
||||
@@ -30,7 +30,7 @@ var showall = getQParamInt("showall", 0) == 1;
|
||||
|
||||
var authparamsBOF = user.checkAutorisation("WEB_FAQBOF", true); // ziet alles
|
||||
var authparamsFOF = user.checkAutorisation("WEB_FAQFOF", true); // ziet ook FO-items (en eigen items)
|
||||
var authparamsUSE = user.checkAutorisation("WEB_FAQUSE", true); // ziet ook FO-items (en eigen items)
|
||||
var authparamsUSE = user.checkAutorisation("WEB_FAQUSE", true); // ziet ook FE-items (en eigen items)
|
||||
|
||||
if (searchtext != null)
|
||||
{
|
||||
@@ -73,10 +73,12 @@ if (searchtext != null)
|
||||
|
||||
if (!authparamsBOF)
|
||||
{
|
||||
if (!authparamsFOF)
|
||||
sql += " AND BITAND (fac_faq_level, 2) = 0";
|
||||
if (!authparamsUSE)
|
||||
sql += " AND BITAND (fac_faq_level, 1) = 0";
|
||||
var bits = 0;
|
||||
if (authparamsFOF)
|
||||
bits += 2;
|
||||
if (authparamsUSE)
|
||||
bits += 1;
|
||||
sql += " AND BITAND (fac_faq_level, " + bits + ") <> 0";
|
||||
sql += " AND ROWNUM < " + S("faq_max_results")
|
||||
+ " AND (fac_faq_datum < SYSDATE OR prs_perslid_key = " + user_key + ")"; // zelf ingevoerd zie je wel terug
|
||||
}
|
||||
|
||||
@@ -110,7 +110,10 @@ user.anything_todo_or_abort(tobeinspected > 0); // We klagen niet over enkele we
|
||||
+ " OR isc.ins_srtcontrole_niveau = 'G' AND isc.ins_srtinstallatie_key = s.ins_srtgroep_key"
|
||||
+ " OR isc.ins_srtcontrole_niveau = 'D' AND isc.ins_srtinstallatie_key = d.ins_discipline_key"
|
||||
+ " )"
|
||||
+ " AND d.ins_deel_key in (" + ingesloten.join(",") + ")"
|
||||
+ " AND d.ins_deel_key IN (" + ingesloten.join(",") + ")"
|
||||
+ (srtcont_key > 0
|
||||
? " AND isc.ins_srtcontrole_key = " + srtcont_key
|
||||
: "")
|
||||
+ " GROUP BY ins_srtcontrole_key,"
|
||||
+ " ins_srtcontrole_omschrijving,"
|
||||
+ " ins_srtcontrole_periode"
|
||||
@@ -122,6 +125,12 @@ user.anything_todo_or_abort(tobeinspected > 0); // We klagen niet over enkele we
|
||||
required: true
|
||||
}
|
||||
);
|
||||
if (srtcont_key > 0)
|
||||
{
|
||||
sql = "SELECT ins_srtcontrole_info FROM ins_srtcontrole WHERE ins_srtcontrole_key = " + srtcont_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
RWTEXTAREATR("srtcontrole_info", "fldtxt", L("lcl_ins_info"), oRs("ins_srtcontrole_info").value, {html: "rows='3'"});
|
||||
}
|
||||
FCLTcalendar( "deelsrtcontrole_datum",
|
||||
{ label : L("lcl_ins_controle_datum"),
|
||||
datum : inspect_data.deelsrtcontrole_datum,
|
||||
|
||||
@@ -451,7 +451,7 @@ function ins_list (pautfunction, params)
|
||||
|
||||
// Eerstvolgende inspectie
|
||||
var sqlNext = ""
|
||||
+ "SELECT ins_deel_key, inspectie_next, ins_srtcontrole_omschrijving"
|
||||
+ "SELECT ins_deel_key, inspectie_next, ins_srtcontrole_omschrijving, ins_srtcontrole_key"
|
||||
+ " FROM (WITH defined_inspect" // gedefinieerde inspecties
|
||||
+ " AS (SELECT *"
|
||||
+ " FROM ins_deel id, ins_srtdeel s, ins_srtcontrole isc"
|
||||
@@ -469,7 +469,8 @@ function ins_list (pautfunction, params)
|
||||
+ " SELECT 1 rn," // inspecties die nog nooit zijn uitgevoerd
|
||||
+ " di.ins_deel_key,"
|
||||
+ " ins_deel_aanmaak + ins_srtcontrole_periode inspectie_next,"
|
||||
+ " ins_srtcontrole_omschrijving"
|
||||
+ " ins_srtcontrole_omschrijving,"
|
||||
+ " ins_srtcontrole_key"
|
||||
+ " FROM defined_inspect di"
|
||||
+ " WHERE (ins_deel_key, ins_srtcontrole_key) NOT IN"
|
||||
+ " (SELECT ins_deel_key, ins_srtcontrole_key"
|
||||
@@ -484,7 +485,8 @@ function ins_list (pautfunction, params)
|
||||
+ " di.ins_deel_key,"
|
||||
+ " ins_deelsrtcontrole_datum + ins_srtcontrole_periode"
|
||||
+ " inspectie_next,"
|
||||
+ " ins_srtcontrole_omschrijving"
|
||||
+ " ins_srtcontrole_omschrijving,"
|
||||
+ " di.ins_srtcontrole_key"
|
||||
+ " FROM ins_deelsrtcontrole idsc, defined_inspect di"
|
||||
+ " WHERE idsc.ins_srtcontrole_key = di.ins_srtcontrole_key"
|
||||
+ " AND idsc.ins_deel_key = di.ins_deel_key"
|
||||
@@ -524,7 +526,8 @@ function ins_list (pautfunction, params)
|
||||
+ ", " + sqlLentOutFrom + " uitgegeven_vanuit"
|
||||
+ ", " + sqlInspectie_select
|
||||
+ ", rd.res_deel_key"
|
||||
+ ", rd.res_deel_opmerking";
|
||||
+ ", rd.res_deel_opmerking"
|
||||
+ ", i.ins_deel_vervaldatum";
|
||||
|
||||
sqlOwner_from = " FROM ins_deel i"
|
||||
+ ", ins_srtdeel s"
|
||||
@@ -561,6 +564,7 @@ function ins_list (pautfunction, params)
|
||||
+ ", (SELECT " + S("prs_dep_string") + " FROM prs_v_afdeling d WHERE prs_afdeling_key = i.ins_alg_ruimte_key) eigenaar"
|
||||
+ ", NULL alg_ruimte_key " // person key
|
||||
+ ", i.ins_alg_ruimte_key prs_afdeling_key" // department key
|
||||
+ ", ins_srtcontrole_key"
|
||||
+ (koppel_key? ", ins_deelkoppeling_omschrijving, ins_deelkoppeling_van_key, ins_deelkoppeling_naar_key" : "")
|
||||
+ sqlOwner_from
|
||||
+ ", prs_v_afdeling_boom d"
|
||||
@@ -577,6 +581,7 @@ function ins_list (pautfunction, params)
|
||||
+ ", " + S("prs_pers_string") + " eigenaar"
|
||||
+ ", i.ins_alg_ruimte_key alg_ruimte_key " // person key
|
||||
+ ", p.prs_afdeling_key prs_afdeling_key" // department key
|
||||
+ ", ins_srtcontrole_key"
|
||||
+ (koppel_key? ", ins_deelkoppeling_omschrijving, ins_deelkoppeling_van_key, ins_deelkoppeling_naar_key" : "")
|
||||
+ sqlOwner_from
|
||||
+ ", prs_perslid p"
|
||||
@@ -595,6 +600,7 @@ function ins_list (pautfunction, params)
|
||||
+ ", c.prs_contactpersoon_naam eigenaar"
|
||||
+ ", i.ins_alg_ruimte_key alg_ruimte_key" // person key
|
||||
+ ", NULL prs_afdeling_key" // department key
|
||||
+ ", ins_srtcontrole_key"
|
||||
+ (koppel_key? ", ins_deelkoppeling_omschrijving, ins_deelkoppeling_van_key, ins_deelkoppeling_naar_key" : "")
|
||||
+ sqlOwner_from
|
||||
+ ", prs_contactpersoon c"
|
||||
@@ -636,11 +642,13 @@ function ins_list (pautfunction, params)
|
||||
+ ", " + sqlInspectie_select
|
||||
+ ", rd.res_deel_key"
|
||||
+ ", rd.res_deel_opmerking"
|
||||
+ ", i.ins_deel_vervaldatum"
|
||||
+ ", null prs_bedrijf_key"
|
||||
+ ", null prs_afdeling_key1"
|
||||
+ ", null eigenaar"
|
||||
+ ", i.ins_alg_ruimte_key alg_ruimte_key"
|
||||
+ ", 0 dummy1" // department key
|
||||
+ ", ins_srtcontrole_key"
|
||||
+ (koppel_key? ", ins_deelkoppeling_omschrijving, ins_deelkoppeling_van_key, ins_deelkoppeling_naar_key" : "")
|
||||
+ " FROM ins_deel i"
|
||||
+ (terr_key
|
||||
@@ -1045,8 +1053,9 @@ function ins_list (pautfunction, params)
|
||||
var insKey = oRs("ins_deel_key").value;
|
||||
var insTypeKey = oRs("ins_srtdeel_key").value;
|
||||
var insAvailable = oRs("ins_alg_ruimte_key_org").value == null? 1 : 0;
|
||||
var insSrtControleKey = oRs("ins_srtcontrole_key").value;
|
||||
|
||||
var data = {insKey:insKey, insTypeKey:insTypeKey, insAvailable:insAvailable};
|
||||
var data = {insKey:insKey, insTypeKey:insTypeKey, insAvailable:insAvailable, insSrtControleKey:insSrtControleKey};
|
||||
return JSON.stringify(data);
|
||||
}
|
||||
|
||||
|
||||
@@ -184,8 +184,14 @@ function insMultiEdit(rowArray)
|
||||
function insInspect(rowArray)
|
||||
{
|
||||
var insKeyString = getKeyString(rowArray);
|
||||
var srtcontrole_key = -1;
|
||||
if (rowArray.length == 1)
|
||||
{
|
||||
rowdata = eval('(' + rowArray[0].getAttribute("ROWDATA") + ')');
|
||||
srtcontrole_key = rowdata.insSrtControleKey;
|
||||
}
|
||||
var subject = L("lcl_ins_multi_controle");
|
||||
var url = "../ins/ins_inspect.asp?ins_keys=" + insKeyString;
|
||||
var url = "../ins/ins_inspect.asp?ins_keys=" + insKeyString + (srtcontrole_key > 0? "&srtcont_key=" + srtcontrole_key : "");
|
||||
FcltMgr.openModalDetail(url, rowArray.length > 1? L("lcl_ins_multi_controle") : L("lcl_ins_docontrole"), {callback: FcltCallbackRefresh});
|
||||
}
|
||||
|
||||
|
||||
106
APPL/MLD/mld.inc
106
APPL/MLD/mld.inc
@@ -264,22 +264,16 @@ mld = {setmeldingstatus:
|
||||
var sql="";
|
||||
if (mldstatus_str)
|
||||
{
|
||||
// Aantal openstaande opdrachten. Offertes moeten niet worden meegerekend.
|
||||
// Aantal openstaande opdrachten of offertes (opdracht of offerte doet er niet toe).
|
||||
var sql_opdr_be_open = " CASE (SELECT COUNT(o.mld_opdr_key)"
|
||||
+ " FROM mld_opdr o"
|
||||
+ " , mld_typeopdr mto"
|
||||
+ " WHERE mld_melding_key = m.mld_melding_key"
|
||||
+ " AND o.mld_typeopdr_key = mto.mld_typeopdr_key"
|
||||
+ " AND mto.mld_typeopdr_isofferte = 0)"
|
||||
+ " WHERE mld_melding_key = m.mld_melding_key)"
|
||||
+ " WHEN 0"
|
||||
+ " THEN -1"
|
||||
+ " ELSE (SELECT COUNT(o.mld_statusopdr_key)"
|
||||
+ " FROM mld_opdr o"
|
||||
+ " , mld_typeopdr mto"
|
||||
+ " WHERE mld_melding_key = m.mld_melding_key"
|
||||
+ " AND o.mld_statusopdr_key NOT IN (1, 2, 6, 7, 9)"
|
||||
+ " AND o.mld_typeopdr_key = mto.mld_typeopdr_key"
|
||||
+ " AND mto.mld_typeopdr_isofferte = 0)"
|
||||
+ " AND o.mld_statusopdr_key NOT IN (1, 2, 6, 7, 9))"
|
||||
+ " END";
|
||||
|
||||
// In mldstatus_str kan de waarde 99 "Niet opgelost" voorkomen. Dit is geen bestaande status.
|
||||
@@ -435,40 +429,40 @@ mld = {setmeldingstatus:
|
||||
? ", mld_opdr o"
|
||||
: "")
|
||||
+ (offertes
|
||||
? ", (SELECT o.mld_melding_key" // Meldingen met zijn aantal offertes
|
||||
+ " , COUNT (o.mld_opdr_key) aantal_offertes"
|
||||
+ " , MAX(o.mld_opdr_datumbegin) lastofferte"
|
||||
+ " FROM mld_opdr o"
|
||||
? ", (SELECT o1.mld_melding_key" // Meldingen met zijn aantal offertes
|
||||
+ " , COUNT (o1.mld_opdr_key) aantal_offertes"
|
||||
+ " , MAX(o1.mld_opdr_bedrijfopdr_volgnr) lastoffertevolgnr"
|
||||
+ " FROM mld_opdr o1"
|
||||
+ " , mld_typeopdr mto"
|
||||
+ " WHERE o.mld_typeopdr_key = mto.mld_typeopdr_key"
|
||||
+ " WHERE o1.mld_typeopdr_key = mto.mld_typeopdr_key"
|
||||
+ " AND mto.mld_typeopdr_isofferte = 1"
|
||||
+ " GROUP BY o.mld_melding_key) offerte"
|
||||
+ " GROUP BY o1.mld_melding_key) offerte"
|
||||
// Nodig om extra class orderready toe te kunnen toevoegen dat aangeeft dat er actie nodig is (uitvoeringsopdracht aanmaken, nieuwe offerte aanmaken of melding afmelden).
|
||||
+ ", (SELECT o.mld_melding_key" // Meldingen met aantal offertes met de status Afgewezen (1), Afgekeurd (2) en/of Technisch Voltooid/Afgemeld (6)
|
||||
+ " , COUNT (o.mld_opdr_key) aantal_offready"
|
||||
+ " FROM mld_opdr o"
|
||||
+ ", (SELECT o2.mld_melding_key" // Meldingen met aantal offertes met de status Afgewezen (1), Afgekeurd (2) en/of Technisch Voltooid/Afgemeld (6)
|
||||
+ " , COUNT (o2.mld_opdr_key) aantal_offready"
|
||||
+ " FROM mld_opdr o2"
|
||||
+ " , mld_typeopdr mto"
|
||||
+ " WHERE o.mld_typeopdr_key = mto.mld_typeopdr_key"
|
||||
+ " WHERE o2.mld_typeopdr_key = mto.mld_typeopdr_key"
|
||||
+ " AND mto.mld_typeopdr_isofferte = 1"
|
||||
+ " AND o.mld_statusopdr_key IN (1, 2, 6)"
|
||||
+ " GROUP BY o.mld_melding_key) offready"
|
||||
+ " AND o2.mld_statusopdr_key IN (1, 2, 6)"
|
||||
+ " GROUP BY o2.mld_melding_key) offready"
|
||||
// Nodig om meldingen met alleen afgewezen en afgekeurde opdrachten niet meer te tonen als melding in offerte traject
|
||||
+ ", (SELECT o.mld_melding_key" // Meldingen met aantal offertes met de status Afgewezen (1) en/of Afgekeurd (2).
|
||||
+ " , COUNT (o.mld_opdr_key) aantal_offallnok"
|
||||
+ " FROM mld_opdr o"
|
||||
+ ", (SELECT o3.mld_melding_key" // Meldingen met aantal offertes met de status Afgewezen (1) en/of Afgekeurd (2).
|
||||
+ " , COUNT (o3.mld_opdr_key) aantal_offallnok"
|
||||
+ " FROM mld_opdr o3"
|
||||
+ " , mld_typeopdr mto"
|
||||
+ " WHERE o.mld_typeopdr_key = mto.mld_typeopdr_key"
|
||||
+ " WHERE o3.mld_typeopdr_key = mto.mld_typeopdr_key"
|
||||
+ " AND mto.mld_typeopdr_isofferte = 1"
|
||||
+ " AND o.mld_statusopdr_key IN (1, 2)"
|
||||
+ " GROUP BY o.mld_melding_key) offallnok"
|
||||
+ ", (SELECT o.mld_melding_key" // Meldingen zonder opdrachten
|
||||
+ " , COUNT (o.mld_opdr_key) aantal_opdrachten"
|
||||
+ " , MAX(o.mld_opdr_datumbegin) lastopdrachtdatum"
|
||||
+ " FROM mld_opdr o"
|
||||
+ " AND o3.mld_statusopdr_key IN (1, 2)"
|
||||
+ " GROUP BY o3.mld_melding_key) offallnok"
|
||||
+ ", (SELECT o4.mld_melding_key" // Meldingen zonder opdrachten
|
||||
+ " , COUNT (o4.mld_opdr_key) aantal_opdrachten"
|
||||
+ " , MAX(o4.mld_opdr_bedrijfopdr_volgnr) lastopdrachtvolgnr"
|
||||
+ " FROM mld_opdr o4"
|
||||
+ " , mld_typeopdr mto"
|
||||
+ " WHERE o.mld_typeopdr_key = mto.mld_typeopdr_key"
|
||||
+ " WHERE o4.mld_typeopdr_key = mto.mld_typeopdr_key"
|
||||
+ " AND mto.mld_typeopdr_isofferte = 0"
|
||||
+ " GROUP BY o.mld_melding_key) opdracht"
|
||||
+ " GROUP BY o4.mld_melding_key) opdracht"
|
||||
: "");
|
||||
|
||||
sqln += " WHERE m.mld_alg_locatie_key = l.alg_locatie_key(+)"
|
||||
@@ -499,7 +493,7 @@ mld = {setmeldingstatus:
|
||||
+ " AND offerte.aantal_offertes > 0"
|
||||
+ " AND offerte.aantal_offertes != COALESCE(offallnok.aantal_offallnok , 0)" // offertes met alleen afgekeurde/afgewezen opdrachten niet tonen
|
||||
+ " AND (opdracht.aantal_opdrachten IS NULL"
|
||||
+ " OR opdracht.lastopdrachtdatum < offerte.lastofferte)"
|
||||
+ " OR opdracht.lastopdrachtvolgnr < offerte.lastoffertevolgnr)"
|
||||
: "");
|
||||
|
||||
no_old_closed_calls = ((S("mld_max_history") > 0) && (mldstrej || mldstafm || mldstver));
|
||||
@@ -1438,7 +1432,7 @@ mld = {setmeldingstatus:
|
||||
}
|
||||
if (result.aantal_fofaq > 0)
|
||||
{
|
||||
result.canFAQUSEread = user.checkAutorisation("WEB_FAQFOF", true)!=null;
|
||||
result.canFAQFOFread = user.checkAutorisation("WEB_FAQFOF", true)!=null;
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
@@ -1847,6 +1841,8 @@ mld = {setmeldingstatus:
|
||||
+ " , o.mld_opdr_verzonden"
|
||||
+ " , mdp.mld_disc_params_offerteauto"
|
||||
+ " , sm.mld_stdmelding_opdrtypevast"
|
||||
+ " , m.mld_melding_key"
|
||||
+ " , o.mld_opdr_bedrijfopdr_volgnr"
|
||||
+ " FROM mld_opdr o"
|
||||
+ " , mld_typeopdr mto"
|
||||
+ " , mld_melding m"
|
||||
@@ -1880,7 +1876,9 @@ mld = {setmeldingstatus:
|
||||
var isofferte = moRs("mld_typeopdr_isofferte").value == 1;
|
||||
var afmelden_extern = moRs("mld_typeopdr_afmelden_extern").value;
|
||||
var offerteauto = moRs("mld_disc_params_offerteauto").value == 1;
|
||||
var opdrtypetypevast = moRs("mld_stdmelding_opdrtypevast").Value == 1;
|
||||
var opdrtypevast = moRs("mld_stdmelding_opdrtypevast").value == 1;
|
||||
var mld_key = moRs("mld_melding_key").value;
|
||||
var mld_opdr_bedrijfopdr_volgnr = moRs("mld_opdr_bedrijfopdr_volgnr").value;
|
||||
|
||||
// tracking_present KP KPN Verantwoordelijke
|
||||
// Nee - - Niemand
|
||||
@@ -1937,6 +1935,7 @@ mld = {setmeldingstatus:
|
||||
moRs.Close();
|
||||
|
||||
var lopende_offertes = false;
|
||||
var uitvOpdrNaOfferte = false;
|
||||
if (isofferte)
|
||||
{ // Alleen voor offerte opdrachten uitvoeren
|
||||
// Zijn er nog lopende offertes die nog niet Technisch Voltooid/Afgemeld (6) zijn.
|
||||
@@ -1952,6 +1951,21 @@ mld = {setmeldingstatus:
|
||||
+ " AND o.mld_statusopdr_key IN (3, 4, 5, 8, 10)"
|
||||
var ooRs = Oracle.Execute(osql);
|
||||
lopende_offertes = ooRs("aantal").value > 0;
|
||||
|
||||
// Laatste opdracht volgnummer van een melding ophalen. Om te checken of er na de offerteaanvraag nog een uitvoeringsopdracht is gekomen.
|
||||
var osql = "SELECT MAX (mld_opdr_bedrijfopdr_volgnr) lastopdrachtvolgnr"
|
||||
+ " FROM mld_opdr o"
|
||||
+ " , mld_typeopdr mto"
|
||||
+ " WHERE o.mld_typeopdr_key = mto.mld_typeopdr_key"
|
||||
+ " AND mto.mld_typeopdr_isofferte = 0"
|
||||
+ " AND o.mld_melding_key = " + mld_key
|
||||
+ " GROUP BY o.mld_melding_key"
|
||||
var ooRs = Oracle.Execute(osql);
|
||||
if (!ooRs.eof)
|
||||
{ // Er kan een uitvoeringsopdracht zijn na de offerteaanvraag. Dit m.b.v. de volgnummers checken.
|
||||
var lastopdrachtvolgnr = ooRs("lastopdrachtvolgnr").value;
|
||||
uitvOpdrNaOfferte = lastopdrachtvolgnr > mld_opdr_bedrijfopdr_volgnr;
|
||||
}
|
||||
}
|
||||
|
||||
// -- CONTROLE LEESRECHTEN --
|
||||
@@ -2026,7 +2040,7 @@ mld = {setmeldingstatus:
|
||||
mresult.canKostChange = (mresult.canWrite("WEB_ORDBOF") && S("mld_ord_show_kostenplaats") == 1);
|
||||
mresult.canOpmChange = (mresult.canWrite("WEB_ORDBOF"));
|
||||
mresult.canUrenMatChange = (mresult.canWrite("WEB_ORDBOF"));
|
||||
mresult.canOpdrTypeChange = (mresult.canWrite("WEB_ORDBOF") && !isofferte && !opdrtypetypevast);
|
||||
mresult.canOpdrTypeChange = (mresult.canWrite("WEB_ORDBOF") && !isofferte && !opdrtypevast);
|
||||
break;
|
||||
case 2: // Niet akkoord
|
||||
mresult.canChange = (mresult.canWrite("WEB_ORDBOF"));
|
||||
@@ -2040,7 +2054,7 @@ mld = {setmeldingstatus:
|
||||
mresult.canOpmChange = (mresult.canWrite("WEB_ORDBOF"));
|
||||
mresult.canUrenMatChange = (mresult.canWrite("WEB_ORDBOF"));
|
||||
mresult.canSeeARFlex = (isofferte && mresult.haveORDSUPrights);
|
||||
mresult.canOpdrTypeChange = (mresult.canWrite("WEB_ORDBOF") && !isofferte && !opdrtypetypevast);
|
||||
mresult.canOpdrTypeChange = (mresult.canWrite("WEB_ORDBOF") && !isofferte && !opdrtypevast);
|
||||
break;
|
||||
case 3: // Ter fiattering
|
||||
mresult.canChange = (mresult.canWrite("WEB_ORDBOF"));
|
||||
@@ -2055,7 +2069,7 @@ mld = {setmeldingstatus:
|
||||
mresult.canKostChange = (mresult.canWrite("WEB_ORDBOF") && S("mld_ord_show_kostenplaats") == 1);
|
||||
mresult.canOpmChange = (mresult.canWrite("WEB_ORDBOF"));
|
||||
mresult.canUrenMatChange = (mresult.canWrite("WEB_ORDBOF"));
|
||||
mresult.canOpdrTypeChange = (mresult.canWrite("WEB_ORDBOF") && !isofferte && !opdrtypetypevast);
|
||||
mresult.canOpdrTypeChange = (mresult.canWrite("WEB_ORDBOF") && !isofferte && !opdrtypevast);
|
||||
break;
|
||||
case 4: // Gefiatteerd
|
||||
mresult.canChange = (mresult.canWrite("WEB_ORDBOF"));
|
||||
@@ -2069,7 +2083,7 @@ mld = {setmeldingstatus:
|
||||
mresult.canKostChange = (mresult.canWrite("WEB_ORDBOF") && S("mld_ord_show_kostenplaats") == 1);
|
||||
mresult.canOpmChange = (mresult.canWrite("WEB_ORDBOF"));
|
||||
mresult.canUrenMatChange = (mresult.canWrite("WEB_ORDBOF"));
|
||||
mresult.canOpdrTypeChange = (mresult.canWrite("WEB_ORDBOF") && !isofferte && !opdrtypetypevast);
|
||||
mresult.canOpdrTypeChange = (mresult.canWrite("WEB_ORDBOF") && !isofferte && !opdrtypevast);
|
||||
break;
|
||||
case 5: // Uitgegeven
|
||||
// Leveranciers kunnen de opdrachten accepteren zodat ze kunnen zien of de opdrachten al in behandeling zijn genomen
|
||||
@@ -2104,7 +2118,7 @@ mld = {setmeldingstatus:
|
||||
(mresult.canWrite("WEB_MLDORD") && (uitv_key == user_key || user.isCollega(uitv_key))));
|
||||
mresult.canSeeARFlex = (isofferte && mresult.haveORDSUPrights);
|
||||
mresult.canChangeARFlex = (isofferte && mresult.haveORDSUPrights);
|
||||
mresult.canOpdrTypeChange = (mresult.canWrite("WEB_ORDBOF") && !isofferte && !opdrtypetypevast);
|
||||
mresult.canOpdrTypeChange = (mresult.canWrite("WEB_ORDBOF") && !isofferte && !opdrtypevast);
|
||||
break;
|
||||
case 6: // Technisch Voltooid/Afgemeld
|
||||
mresult.canChange = (mresult.haveORDFINrights || mresult.haveORDSUPrights ||
|
||||
@@ -2119,8 +2133,8 @@ mld = {setmeldingstatus:
|
||||
(myBO2Change && mresult.canWrite("WEB_ORDAFR")); /* AANS#22655 */
|
||||
mresult.canKostChange = (mresult.haveORDFINrights && S("mld_ord_show_kostenplaats") == 1);
|
||||
mresult.canFinish = (!isofferte && typehas_cost && mresult.canWrite("WEB_ORDAFR"));
|
||||
mresult.canAcceptOffer = (isofferte && (!lopende_offertes || !offerteauto) && mresult.haveORDOAPrights && mresult.canRead("WEB_ORDBOF"));
|
||||
mresult.canRejectOffer = (isofferte && mresult.haveORDOAPrights && mresult.canRead("WEB_ORDBOF"));
|
||||
mresult.canAcceptOffer = (isofferte && (!lopende_offertes || !offerteauto) && mresult.haveORDOAPrights && mresult.canRead("WEB_ORDBOF") && !uitvOpdrNaOfferte);
|
||||
mresult.canRejectOffer = (isofferte && mresult.haveORDOAPrights && mresult.canRead("WEB_ORDBOF") && !uitvOpdrNaOfferte);
|
||||
mresult.canOpmChange = (mresult.haveORDSUPrights || mresult.canAcceptOffer || mresult.canRejectOffer) ||
|
||||
(myBO2Change && mresult.canWrite("WEB_ORDAFR")); /* AANS#22655 */
|
||||
mresult.canUrenMatChange = (mresult.canFinish || mresult.haveORDFINrights) ||
|
||||
@@ -2154,7 +2168,7 @@ mld = {setmeldingstatus:
|
||||
mresult.canKostChange = (mresult.canWrite("WEB_ORDBOF") && S("mld_ord_show_kostenplaats") == 1);
|
||||
mresult.canOpmChange = (mresult.canWrite("WEB_ORDBOF"));
|
||||
mresult.canUrenMatChange = (mresult.canWrite("WEB_ORDBOF"));
|
||||
mresult.canOpdrTypeChange = (mresult.canWrite("WEB_ORDBOF") && !isofferte && !opdrtypetypevast);
|
||||
mresult.canOpdrTypeChange = (mresult.canWrite("WEB_ORDBOF") && !isofferte && !opdrtypevast);
|
||||
break;
|
||||
case 7: // Verwerkt
|
||||
mresult.couldClose = (mresult.canWrite("WEB_ORDBOF") ||
|
||||
@@ -2269,8 +2283,8 @@ mld = {setmeldingstatus:
|
||||
{
|
||||
var sql = "SELECT prs_bedrijf_key"
|
||||
+ " FROM prs_contactpersoon"
|
||||
+ " WHERE prs_perslid_key = " + user_key;
|
||||
// + " AND prs_bedrijf_key = " + uitv_key;
|
||||
+ " WHERE prs_perslid_key = " + user_key
|
||||
+ " AND prs_contactpersoon_verwijder IS NULL";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
return !oRs.Eof;
|
||||
},
|
||||
|
||||
@@ -13,20 +13,6 @@ function process_stdm_info(data, stdmChanged) // stdmChanged is optioneel.
|
||||
if ((window.stdm_info.mld_stdmelding_key||-1) < 0) // Als er geen melding (stdmelding) is geselecteerd dan return.
|
||||
return;
|
||||
|
||||
var stdm_level = 1;
|
||||
var stdm_aantal = stdm_info.aantal_fefaq;
|
||||
if (!frontend)
|
||||
{
|
||||
stdm_level = 2;
|
||||
stdm_aantal = stdm_info.aantal_fofaq;
|
||||
}
|
||||
|
||||
if (stdm_aantal > 0 && stdm_info.canFAQUSEread && stdmChanged)
|
||||
{
|
||||
var url = "../mld/mld_faq.asp?stdm_key="+ $("#stdm").val() + "&faq_level=" + stdm_level;
|
||||
FcltMgr.openModalDetail(url, L("lcl_mld_faq_stdmanswers"), { height: 200, width: 700, callback: mld_faq_list_callback } );
|
||||
}
|
||||
|
||||
// Zet de discipline indien niet ingevuld.
|
||||
if ($("#disc").val() <= 0 || frontend)
|
||||
{
|
||||
@@ -82,42 +68,11 @@ function callback_stdm_info(data, textStatus, jqXHR)
|
||||
process_stdm_info(data, true); // Tweede parameter stdmChanged is true.
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
function mld_cancel()
|
||||
{
|
||||
FcltMgr.closeDetail(window, { cancel: true } );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
function onChangeVakgroep(vakgroep_key)
|
||||
{
|
||||
$("#gebouw").removeClass("required");
|
||||
|
||||
@@ -403,18 +403,14 @@ function process_stdm_info(data, stdmChanged) // stdmChanged is optioneel.
|
||||
if ((window.stdm_info.mld_stdmelding_key||-1) < 0) // Als er geen melding (stdmelding) is geselecteerd dan return.
|
||||
return;
|
||||
|
||||
var stdm_level = 1;
|
||||
var stdm_aantal = stdm_info.aantal_fefaq;
|
||||
if (!frontend)
|
||||
if (stdmChanged)
|
||||
{
|
||||
stdm_level = 2;
|
||||
stdm_aantal = stdm_info.aantal_fofaq;
|
||||
}
|
||||
|
||||
if (stdm_aantal > 0 && stdm_info.canFAQUSEread && stdmChanged)
|
||||
{
|
||||
var url = "../mld/mld_faq.asp?stdm_key="+ $("#stdm").val() + "&faq_level=" + stdm_level;
|
||||
FcltMgr.openModalDetail(url, L("lcl_mld_faq_stdmanswers"), { height: 200, width: 700, callback: mld_faq_list_callback } );
|
||||
if ((stdm_info.aantal_fefaq > 0 && stdm_info.canFAQUSEread) ||
|
||||
(stdm_info.aantal_fofaq > 0 && stdm_info.canFAQFOFread))
|
||||
{
|
||||
var url = "../mld/mld_faq.asp?stdm_key="+ $("#stdm").val();
|
||||
FcltMgr.openModalDetail(url, L("lcl_mld_faq_stdmanswers"), { height: 200, width: 700, callback: mld_faq_list_callback } );
|
||||
}
|
||||
}
|
||||
|
||||
// UWVA#15523: indien frontend, dan is het aan kunnen geven van de prio afhankelijk van de vakgroep
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
Merk op dat het voor zowel toevoegen als wijzigen gebruikt wordt.
|
||||
Parameters:
|
||||
Context: submit van order_input.asp
|
||||
submit van pda/order.asp
|
||||
of $.post vanuit ./melding.asp en pda/melding.asp bij autoorder
|
||||
Note: Eventueel maken we uiteindelijk een print-scherm aan!
|
||||
Een opdracht wordt echt uitgegeven in 2 gevallen:
|
||||
- nieuw en geen fiattering vereist
|
||||
@@ -78,11 +80,6 @@ var volgnr = getFParamInt("volgnr", 1);
|
||||
var opdr_ordernr = getFParam("opdr_ordernr", "");
|
||||
var copyorder_key = getFParamInt("copyorder_key", -1);
|
||||
|
||||
// NOTE: deze save hoort wel heel specifiek bij zijn form! De volgende parameters
|
||||
// hoeven zeker niet in alle gevallen meegegeven te worden, en kunnen zelf bepaald worden
|
||||
// als ze al nodig zijn. t_opdr kan niet op deze manier wijzigen toch (alleen bij Add)?
|
||||
// Nu even experimenteren vanuit mobile hoever we kunnen gaan UNDER CONSTRUCTION
|
||||
|
||||
lcl.set_dialect(t_opdr, "MLD_TYPEOPDR_KEY");
|
||||
// Bepaal matchtype van opdracht
|
||||
var sql = "SELECT mld_typeopdr_matchtype"
|
||||
@@ -132,8 +129,19 @@ var authparamsORDFIN = user.checkAutorisation("WEB_ORDFIN", true); // User mag g
|
||||
|
||||
user.auth_required_or_abort(autoorder || authparamsORDBOF || authparamsORDBO2 || authparamsMLDORD);
|
||||
|
||||
// Combinatievalidatie
|
||||
// (default) kostenplaats bepaling
|
||||
var kostenplaats_key = getFParamInt("account", -1)
|
||||
if (kostenplaats_key < 0 && autoorder)
|
||||
{
|
||||
sql = "SELECT mld_typeopdr_kosten FROM mld_typeopdr WHERE mld_typeopdr_key = " + t_opdr;
|
||||
oRs = Oracle.Execute(sql);
|
||||
var needKostenplaats = oRs("mld_typeopdr_kosten").value == 1;
|
||||
oRs.Close();
|
||||
if (needKostenplaats)
|
||||
kostenplaats_key = mld_info.kostenpl_key;
|
||||
}
|
||||
|
||||
// Combinatievalidatie
|
||||
if (kostenplaats_key > 0)
|
||||
{
|
||||
if (!kpl_ksrt_validate(kostenplaats_key, mld_info.stdm_ksrt_key, mld_info.disc))
|
||||
@@ -142,6 +150,20 @@ if (kostenplaats_key > 0)
|
||||
|
||||
var tot_kosten = getFParamFloat("tot_kosten", -1);
|
||||
|
||||
var uurloon = getFParamFloat("uurtarief", -1);
|
||||
if (uurloon < 0)
|
||||
{
|
||||
var sql = "SELECT b.prs_bedrijf_uurloon"
|
||||
+ " FROM prs_bedrijf b"
|
||||
+ " WHERE b.prs_bedrijf_key = " + uitvoerende;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (!oRs.eof) // Had in theorie ook een persoon kunnen zijn?
|
||||
{
|
||||
uurloon = oRs("prs_bedrijf_uurloon").value;
|
||||
}
|
||||
oRs.Close();
|
||||
}
|
||||
|
||||
var opdrkeyArray = [];
|
||||
var initopdrkey = opdr_key;
|
||||
for (var u = 0; u < uitvkeyArray.length; u++)
|
||||
@@ -162,7 +184,7 @@ for (var u = 0; u < uitvkeyArray.length; u++)
|
||||
// Tegen wiens profiellimiet eventueel te controleren? Als de kostenplaats bij de opdracht
|
||||
// overruled is dan wordt altijd tegen het profield van de BO-medewerker getest.
|
||||
var pkey = -1;
|
||||
if (mld_info.mld_kk == 1 && mld_info.kostenplaats_key == kostenplaats_key)
|
||||
if (mld_info.mld_kk == 1 && mld_info.kostenpl_key == kostenplaats_key)
|
||||
pkey = mld_info.melder_key; // melder/aanvrager van melding
|
||||
else
|
||||
pkey = user_key; //getFParamInt("behandelaar"); // BO medewerker? dat is gewoon de user
|
||||
@@ -189,9 +211,9 @@ for (var u = 0; u < uitvkeyArray.length; u++)
|
||||
{ dbs: "prs_contactpersoon_key", typ: "key", val: uitvcpersArray[u] },
|
||||
{ dbs: "mld_opdr_materiaal", typ: "float", frm: "mat_kosten" },
|
||||
{ dbs: "mld_opdr_kosten", typ: "float", frm: "tot_kosten" },
|
||||
{ dbs: "mld_opdr_uurloon", typ: "float", frm: "uurtarief" },
|
||||
{ dbs: "mld_opdr_uurloon", typ: "float", val: (uurloon>0?uurloon:"") },
|
||||
{ dbs: "mld_opdr_ordernr", typ: "varchar", frm: "opdr_ordernr" },
|
||||
{ dbs: "prs_kostenplaats_key", typ: "key", frm: "account" },
|
||||
{ dbs: "prs_kostenplaats_key", typ: "key", val: kostenplaats_key },
|
||||
{ dbs: "cnt_contract_key", typ: "key", val: uitvcntArray[u] },
|
||||
{ dbs: "mld_opdr_key", typ: "key", seq: "mld_s_mld_opdr_key" },
|
||||
{ dbs: "mld_melding_key", typ: "key", val: mld_key },
|
||||
|
||||
@@ -6,8 +6,9 @@
|
||||
File: mld_faq.asp
|
||||
Description: (Modal)dialoog om kennisbankitems aan melding te kunnen koppelen
|
||||
Parameters: stdm_key
|
||||
Context:
|
||||
Note:
|
||||
Context: Als net een melding is gekozen komt een popup met faq's
|
||||
Note: Als je zowel FO als FE rechten hebt zie je alle faq's
|
||||
voor deze melding
|
||||
*/
|
||||
%>
|
||||
|
||||
@@ -20,16 +21,17 @@
|
||||
FCLTHeader.Requires({ plugins: ["jQuery"] })
|
||||
|
||||
var mld_stdmelding_key = getQParamInt("stdm_key");
|
||||
var faq_level = getQParamInt("faq_level", -1);
|
||||
|
||||
var authparamsFOF = user.checkAutorisation("WEB_FAQFOF", true); // ziet (ook) FO-items
|
||||
var authparamsUSE = user.checkAutorisation("WEB_FAQUSE", true); // ziet (ook) FE-items
|
||||
%>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<% FCLTHeader.Generate() %>
|
||||
<script>
|
||||
<script type='text/javascript'>
|
||||
$(document).ready(function ()
|
||||
{
|
||||
var params = FcltMgr.dialogArguments();
|
||||
$(".faqvraag").click(function() {
|
||||
$(this).siblings().last().toggle();
|
||||
FcltMgr.resized();
|
||||
@@ -43,6 +45,12 @@ var faq_level = getQParamInt("faq_level", -1);
|
||||
<div id="faqsubhead"><%=L("lcl_faq_mld_2")%></div>
|
||||
<ul id="faqanswerlist">
|
||||
<%
|
||||
var faq_bits = 0;
|
||||
if (authparamsFOF)
|
||||
faq_bits += 2;
|
||||
if (authparamsUSE)
|
||||
faq_bits += 1;
|
||||
|
||||
var sql = "SELECT fac_faq_key, fac_faq_question, fac_faq_answer, fac_faq_url, fac_faq_level"
|
||||
+ " FROM fac_faq ff"
|
||||
+ " WHERE (mld_stdmelding_key = " + mld_stdmelding_key
|
||||
@@ -50,7 +58,7 @@ var faq_level = getQParamInt("faq_level", -1);
|
||||
+ " AND ins_discipline_key = (SELECT mld_ins_discipline_key"
|
||||
+ " FROM mld_stdmelding "
|
||||
+ " WHERE mld_stdmelding_key = " + mld_stdmelding_key + ")))"
|
||||
+ (faq_level != -1 ? " AND BITAND(fac_faq_level," + faq_level + ") = " + faq_level : "")
|
||||
+ " AND BITAND(fac_faq_level," + faq_bits + ") <> 0"
|
||||
+ " AND fac_faq_datum < SYSDATE"
|
||||
+ " AND (fac_faq_lang = '" + user_lang + "' OR fac_faq_lang IS NULL)";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
|
||||
@@ -213,9 +213,13 @@ function mld_groep_list (pautfunction, params)
|
||||
? ", COALESCE((SELECT SUM(f.fin_factuur_totaal)"
|
||||
+ " FROM fin_factuur f"
|
||||
+ (toon_opdr_overz
|
||||
? " WHERE f.mld_opdr_key = o.mld_opdr_key), 0) werkelijke_kosten"
|
||||
? " WHERE f.mld_opdr_key = o.mld_opdr_key"
|
||||
+ " AND fin_factuur_statuses_key <> 1"
|
||||
+ " AND fin_factuur_verwijder IS NULL), 0) werkelijke_kosten"
|
||||
: " , mld_opdr o2"
|
||||
+ " WHERE f.mld_opdr_key = o2.mld_opdr_key"
|
||||
+ " AND fin_factuur_statuses_key <> 1"
|
||||
+ " AND fin_factuur_verwijder IS NULL"
|
||||
+ " AND o2.mld_melding_key = m.mld_melding_key), 0) werkelijke_kosten")
|
||||
: "")
|
||||
+ (groepering_key == 15
|
||||
|
||||
@@ -195,7 +195,15 @@ function mld_list (pautfunction, params)
|
||||
+ ", std.mld_stdmelding_key"
|
||||
+ ", "+lcl.xsqla('std.mld_stdmelding_omschrijving','std.mld_stdmelding_key')
|
||||
|
||||
sqln += ", (SELECT COUNT(mld_opdr_key) FROM mld_opdr WHERE mld_melding_key = m.mld_melding_key) nrOrders" // 17
|
||||
sqln += ", (SELECT COUNT(mld_opdr_key) FROM mld_opdr WHERE mld_melding_key = m.mld_melding_key) nrOrders"
|
||||
|
||||
sqln += ", (SELECT mo.mld_typeopdr_isofferte"
|
||||
+ " FROM mld_opdr o1"
|
||||
+ " , mld_typeopdr mo"
|
||||
+ " WHERE o1.mld_typeopdr_key = mo.mld_typeopdr_key"
|
||||
+ " AND o1.mld_opdr_key = (SELECT MAX(o2.mld_opdr_key)"
|
||||
+ " FROM mld_opdr o2"
|
||||
+ " WHERE o2.mld_melding_key = m.mld_melding_key)) lastopdrisoff"
|
||||
|
||||
sqln += ", m.mld_melding_spoed";
|
||||
|
||||
@@ -262,7 +270,9 @@ function mld_list (pautfunction, params)
|
||||
if (toon_opdr_overz)
|
||||
sqln += ", COALESCE((SELECT SUM(f.fin_factuur_totaal)"
|
||||
+ " FROM fin_factuur f"
|
||||
+ " WHERE f.mld_opdr_key = o.mld_opdr_key), 0) gefactureerd"
|
||||
+ " WHERE f.mld_opdr_key = o.mld_opdr_key "
|
||||
+ " AND f.fin_factuur_statuses_key <> 1"
|
||||
+ " AND f.fin_factuur_verwijder IS NULL), 0) gefactureerd"
|
||||
} // minfo only
|
||||
if (groepering_key == 16)
|
||||
sqln += ", o.mld_opdr_uren uren"
|
||||
@@ -458,12 +468,21 @@ function mld_list (pautfunction, params)
|
||||
|
||||
function fncolStatus(oRs)
|
||||
{
|
||||
if (oRs("mld_melding_parentkey").Value > 0)
|
||||
return L("lcl_mld_parent_status").format(oRs("mld_melding_parentkey").Value); // default leeg
|
||||
if (oRs("mld_melding_parentkey").value > 0)
|
||||
return L("lcl_mld_parent_status").format(oRs("mld_melding_parentkey").value); // default leeg
|
||||
|
||||
var mldStatus = parseInt(oRs("mld_status").Value);
|
||||
var not_solved = oRs("nrOrders").Value>0 && oRs("nrActief").value == 0 && backo && (mldStatus == 4 || mldStatus == 7); // PF: twijfel..
|
||||
var mld_status = (not_solved)? L("lcl_mld_not_solved") : mld.getmldstatustext(mldStatus);
|
||||
var mldStatus = parseInt(oRs("mld_status").value);
|
||||
var nrOrders = oRs("nrOrders").value;
|
||||
var lastopdrisoff = (oRs("lastopdrisoff").value == 1);
|
||||
var nrActief = oRs("nrActief").value;
|
||||
// Een melding is nog niet opgelost als er opdrachten/offertes zijn bij de melding en waarvan er geen enkele meer actief is.
|
||||
// De status voor deze meldingen is geaccepteerd(4).
|
||||
var not_solved = nrOrders > 0 && oRs("nrActief").value == 0 && backo && mldStatus == 4;
|
||||
if (not_solved)
|
||||
// Afhankelijk of de laatste opdracht een opdracht of een offerte is de juiste lcl tonen.
|
||||
var mld_status = (lastopdrisoff)? L("lcl_mld_offerte_accept") : L("lcl_mld_not_solved");
|
||||
else
|
||||
var mld_status = mld.getmldstatustext(mldStatus);
|
||||
|
||||
return mld_status;
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ var mld_info = mld.mld_melding_info(mld_opdr.mld_key);
|
||||
var approver_key = -1; // Die gaan we bepalen. Als het niet anders wordt, wordt er niet gefiatteerd
|
||||
// Welk bedrag eventueel te controleren?
|
||||
// Tegen wiens profiellimiet eventueel te controleren?
|
||||
if (mld_opdr.kosten_klant == 1 && mld_info.kostenplaats_key == mld_opdr.kp_key)
|
||||
if (mld_opdr.kosten_klant == 1 && mld_info.kostenpl_key == mld_opdr.kp_key)
|
||||
{
|
||||
pkey = mld_info.perslidkey; // aanvrager van melding
|
||||
}
|
||||
|
||||
@@ -279,7 +279,9 @@ var subject = mld_key > -1 ? (oRs("ins_srtdiscipline_prefix").Value || "")+ mld_
|
||||
|
||||
if (mld_key == -1 && ins_key > 0) {
|
||||
// Kan ik zo eenvoudig een melding op een object maken? Wow!!
|
||||
%><input name="r_objs" value="<%=ins_key%>" type="hidden"><%
|
||||
%><input name="r_objs" value="<%=ins_key%>" type="hidden">
|
||||
<input name="has_r_objs" value="1" type="hidden">
|
||||
<%
|
||||
}
|
||||
|
||||
// Let op: de BLOCK_END is vrij tricky maar bewust op verschillende plekken afh situatie
|
||||
|
||||
@@ -39,6 +39,7 @@ if (S("self_register") != 1)
|
||||
RWFIELDTR("prs_naam", "fld required", L("lcl_prs_person_name"), "", {required: true, maxlength: 60});
|
||||
RWFIELDTR("prs_vrnaam", "fld", L("lcl_prs_person_voornaam"), "", {maxlength: 30});
|
||||
RWFIELDTR("prs_email", "fld required", L("lcl_prs_person_email"), "");
|
||||
RWFIELDTR("prs_telnr", "fld required", L("lcl_prs_person_phone"), "", { required: true, maxlength: 15 });
|
||||
RWFIELDTR("password1", "fld required", L("lcl_ch_password_new"), "", { required: true, html: " type=password" });
|
||||
RWFIELDTR("password2", "fld required", L("lcl_ch_password_con"), "", { required: true, html: " type=password" });
|
||||
BLOCK_END();
|
||||
|
||||
@@ -21,6 +21,9 @@ var result = { rsuccess: 1, warning: "" };
|
||||
var email = getFParam("prs_email", "");
|
||||
email = email.replace(/^\s+|\s+$/g,""); // trim spaces
|
||||
|
||||
if ( getFParam("password1") != getFParam("password2") )
|
||||
abort_with_warning(L("lcl_pwd_mismatch"));
|
||||
|
||||
if (S("prs_password_validation") && !new RegExp(S("prs_password_validation")).test(getFParam("password1")))
|
||||
abort_with_warning(L("lcl_invalid_pwd_format"));
|
||||
|
||||
|
||||
@@ -178,7 +178,8 @@ div.objcatline { padding-left: 20px;
|
||||
background-image:url(../Pictures/tree_min.gif);
|
||||
cursor: auto;
|
||||
}
|
||||
div.objcatline.closed { background-image:url(../Pictures/tree_plus.gif);}
|
||||
div.objcatline.closed { background-image:url(../Pictures/tree_plus.gif);
|
||||
}
|
||||
|
||||
div.objcatline.closed div.objcatdiv { display: none;}
|
||||
|
||||
|
||||
@@ -103,7 +103,7 @@ if (params.extFilter)
|
||||
{
|
||||
if (document.forms.u2.imgfile.value == "")
|
||||
return false;
|
||||
// TODO: Met FireFox kun je clientside de max-grootte controlen via
|
||||
// TODO: Met FireFox kun je clientside de max-grootte controleren via
|
||||
// document.getElementById('imgfile').files[0].fileSize
|
||||
// IE ondersteunt dat helaas niet dus nog niet geimplementeerd.
|
||||
<% if (params.extFilter) { %>
|
||||
@@ -125,7 +125,7 @@ if (params.extFilter)
|
||||
var fRow = fTable.getElementsByTagName("A");
|
||||
for(var i=0; i<fRow.length; i++)
|
||||
{
|
||||
var tName = fRow[i].outerText.replace(/^\s+|\s+$/g,""); // spaties ervoor en erachter verwijderen.
|
||||
var tName = fRow[i].innerHTML.replace(/^\s+|\s+$/g,""); // spaties ervoor en erachter verwijderen.
|
||||
if (tName.toLowerCase() == fName.toLowerCase())
|
||||
{
|
||||
if (!confirm(L('lcl_shared_file_replace').format(tName)))
|
||||
|
||||
@@ -1443,6 +1443,7 @@ function _saveFlexKenmerken(parentKey, params) // TODO: support multiMode!
|
||||
+ " WHERE ins_kenmerk_key = " + kk;
|
||||
oRs = Oracle.Execute(sql2);
|
||||
verbruiksmeter = oRs("ins_kenmerk_meetwaarde").value == 1;
|
||||
oRs.Close();
|
||||
}
|
||||
|
||||
// A real kenmerk value exists
|
||||
|
||||
Reference in New Issue
Block a user