FSN#25251 Unload waarschuwing als nog hot tabbladen

svn path=/Website/trunk/; revision=16518
This commit is contained in:
Jos Groot Lipman
2013-01-14 15:57:31 +00:00
28 changed files with 634 additions and 243 deletions

154
APPL/API/api_XMLNode.asp Normal file
View 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
%>

View File

@@ -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>

View File

@@ -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);

View File

@@ -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">
<%

View File

@@ -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>

View File

@@ -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") },

View File

@@ -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",

View File

@@ -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,

View File

@@ -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 });
<% } %>
});

View File

@@ -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(+)"

View File

@@ -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
}

View File

@@ -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,

View File

@@ -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);
}

View File

@@ -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});
}

View File

@@ -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;
},

View File

@@ -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");

View File

@@ -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

View File

@@ -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 },

View File

@@ -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);

View File

@@ -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

View File

@@ -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;
}

View File

@@ -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
}

View File

@@ -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

View File

@@ -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();

View File

@@ -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"));

View File

@@ -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;}

View File

@@ -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)))

View File

@@ -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