Merge 2017.2 Gold C patches
svn path=/Website/trunk/; revision=36103
@@ -85,7 +85,7 @@ function model_bgt_budget()
|
||||
},
|
||||
"amountoriginal": {
|
||||
"dbs": "bgt_budget_bedrag_origineel",
|
||||
"sql": "(BGT.getBudgetOpDatum(bgt_budget.bgt_budget_key, NULL))",
|
||||
"sql": "(BGT.getBudgetOpDatum(bgt_budget.bgt_budget_key, 0, NULL))",
|
||||
"label": L("bgt_budget_origineel"),
|
||||
"typ": "float",
|
||||
"iscurrency": true,
|
||||
@@ -93,7 +93,7 @@ function model_bgt_budget()
|
||||
},
|
||||
"amountmutation": {
|
||||
"dbs": "bgt_budget_bedrag_mutatie",
|
||||
"sql": "(BGT.getBudgetMutaties(bgt_budget.bgt_budget_key, NULL, NULL))",
|
||||
"sql": "(BGT.getBudgetMutaties(bgt_budget.bgt_budget_key, 0, NULL, NULL))",
|
||||
"label": L("bgt_budget_mutaties"),
|
||||
"typ": "float",
|
||||
"iscurrency": true,
|
||||
|
||||
@@ -79,7 +79,8 @@ function _model_bgt_discipline()
|
||||
"dbs": "ins_discipline_btw",
|
||||
"label": L("bgt_discipline_btw"),
|
||||
"typ": "check",
|
||||
"default": "false"
|
||||
"default": "false",
|
||||
"hidden_fld": true
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ function model_ctr_scenario()
|
||||
this.record_name = "scenario";
|
||||
this.table = "ins_scenario";
|
||||
this.primary = "ins_scenario_key";
|
||||
this.autfunction = "WEB_BEZMGT";
|
||||
this.autfunction = "WEB_CTRMGT";
|
||||
this.record_title = L("ctr_scenario");
|
||||
this.records_title = L("ctr_scenario_m");
|
||||
|
||||
|
||||
@@ -49,6 +49,13 @@ function model_fin_factuur()
|
||||
"foreign": bgt_budgetproject_foreign(),
|
||||
"showtransit": true
|
||||
},
|
||||
"costtype": {
|
||||
"dbs": "prs_kostensoort_key",
|
||||
"label": L("prs_kostensoort_key"),
|
||||
"typ": "key",
|
||||
"foreign": bgt_costtype_foreign(),
|
||||
"required": false
|
||||
},
|
||||
"company": {
|
||||
"dbs": "mld_opdr.mld_uitvoerende_keys",
|
||||
"label": L("lcl_ord_company"),
|
||||
@@ -65,14 +72,6 @@ function model_fin_factuur()
|
||||
"showtransit": true,
|
||||
"clone": false
|
||||
},
|
||||
"costtype": {
|
||||
"dbs": "prs_kostensoort_key",
|
||||
"label": L("prs_kostensoort_key"),
|
||||
"typ": "key",
|
||||
"foreign": bgt_costtype_foreign(),
|
||||
"required": false,
|
||||
"hidden_fld": true
|
||||
},
|
||||
"additional": {
|
||||
"dbs": "mld_opdr.mld_opdr_meerwerk",
|
||||
"label": L("lcl_mld_opdr_meerwerk"),
|
||||
@@ -94,6 +93,13 @@ function model_fin_factuur()
|
||||
"typ": "varchar",
|
||||
"hidden_fld": true
|
||||
},
|
||||
"account": {
|
||||
"dbs": "mld_opdr.prs_kostenplaats_key",
|
||||
"label": L("bgt_budget_account"),
|
||||
"typ": "key",
|
||||
"foreign": bgt_account_foreign(),
|
||||
"readonly": true
|
||||
},
|
||||
"invoice": {
|
||||
"dbs": "fin_factuur_nr",
|
||||
"label": L("lcl_fin_invoice_number"),
|
||||
@@ -209,13 +215,33 @@ function model_fin_factuur()
|
||||
</script>
|
||||
<%
|
||||
|
||||
// Bij klonen: id=-1, invoice=niet leeg. Dan een (volgende) volgnummer erachter zetten.
|
||||
if (obj.invoice)
|
||||
if (!obj.id && obj.invoice)
|
||||
{
|
||||
// Bij klonen: id=(bestaat niet), invoice=niet leeg. Dan een (volgende) volgnummer erachter zetten.
|
||||
var invoice = obj.invoice;
|
||||
var cur_inv = (invoice.indexOf("/") > -1 ? invoice.substring(0,invoice.indexOf("/")-1) : invoice);
|
||||
var cur_seq = (invoice.indexOf("/") > -1 ? invoice.substring(invoice.indexOf("/")+1) : 0);
|
||||
cur_seq = (cur_seq ? cur_seq : 0);
|
||||
cur_seq = parseInt(cur_seq ? cur_seq : 0);
|
||||
|
||||
var sql = "SELECT MAX(CASE WHEN INSTR(f.fin_factuur_nr, '/') > 0"
|
||||
+ " THEN TO_NUMBER(SUBSTR(f.fin_factuur_nr, INSTR(f.fin_factuur_nr, '/')+1))"
|
||||
+ " ELSE 0"
|
||||
+ " END) max_seq"
|
||||
+ " FROM bgt_kostenrubriek r"
|
||||
+ " , prs_kostensoortgrp g"
|
||||
+ " , prs_kostensoort s"
|
||||
+ " , mld_opdr o"
|
||||
+ " , fin_factuur f"
|
||||
+ " WHERE r.bgt_kostenrubriek_key = g.bgt_kostenrubriek_key"
|
||||
+ " AND g.prs_kostensoortgrp_key = s.prs_kostensoortgrp_key"
|
||||
+ " AND s.prs_kostensoort_key = o.prs_kostensoort_key"
|
||||
+ " AND o.mld_opdr_key = f.mld_opdr_key"
|
||||
+ " AND r.bgt_project_key = " + obj.budgetproject.id
|
||||
+ " AND f.fin_factuur_nr LIKE " + safe.quoted_sql(cur_inv + "%");
|
||||
var oRs = Oracle.Execute(sql);
|
||||
cur_seq = oRs("max_seq").Value;
|
||||
oRs.Close();
|
||||
|
||||
var new_inv = cur_inv + "/" + (cur_seq + 1);
|
||||
obj.invoice = new_inv;
|
||||
}
|
||||
@@ -223,10 +249,12 @@ function model_fin_factuur()
|
||||
{
|
||||
var mld_opdr_key = getQParamInt("opdrachtcommon", -1);
|
||||
if (obj.id == -1 && mld_opdr_key > -1)
|
||||
{
|
||||
{ // Nieuwe factuur bij bekende opdracht.
|
||||
var sql = "SELECT p.ins_discipline_key"
|
||||
+ " , p.bgt_project_key"
|
||||
+ " , o.mld_uitvoerende_keys"
|
||||
+ " , s.prs_kostensoort_key"
|
||||
+ " , s.prs_kostensoort_oms"
|
||||
+ " FROM mld_opdr o"
|
||||
+ " , prs_kostensoort s"
|
||||
+ " , prs_kostensoortgrp g"
|
||||
@@ -241,14 +269,19 @@ function model_fin_factuur()
|
||||
var v_order = mld_opdr_key;
|
||||
var v_discipline = oRs("ins_discipline_key").Value;
|
||||
var v_project = oRs("bgt_project_key").Value;
|
||||
var v_soort = oRs("prs_kostensoort_key").Value;
|
||||
var v_srtoms = oRs("prs_kostensoort_oms").Value;
|
||||
var v_company = oRs("mld_uitvoerende_keys").Value;
|
||||
oRs.Close();
|
||||
// Er is geen QParam voor costtype gezet, dus deze zelf vullen.
|
||||
obj.costtype = {id: v_soort, name: v_srtoms};
|
||||
}
|
||||
else
|
||||
{
|
||||
var v_order = null;
|
||||
var v_discipline = (obj.budgetdiscipline ? obj.budgetdiscipline.id : null);
|
||||
var v_project = (obj.budgetproject ? obj.budgetproject.id : null);
|
||||
var v_soort = (obj.costtype ? obj.costtype.id : null);
|
||||
var v_company = (obj.company ? obj.company.id : null);
|
||||
}
|
||||
%>
|
||||
@@ -257,6 +290,7 @@ function model_fin_factuur()
|
||||
<% if (v_order) { %> var mldopdracht = "<%=v_order%>"; <% } %>
|
||||
<% if (v_discipline) { %> var budgetdiscipline = "<%=v_discipline%>"; <% } %>
|
||||
<% if (v_project) { %> var budgetproject = "<%=v_project%>"; <% } %>
|
||||
<% if (v_soort) { %> var costtype = "<%=v_soort%>"; <% } %>
|
||||
<% if (v_company) { %> var company = "<%=v_company%>"; <% } %>
|
||||
</script>
|
||||
<%
|
||||
@@ -268,32 +302,53 @@ function model_fin_factuur()
|
||||
|
||||
this.hook_pre_post = function(params, obj)
|
||||
{
|
||||
// Bij toevoegen van een factuur wordt prs_kostensoort_key automatisch gevuld met die van mld_opdr.
|
||||
/*
|
||||
*/
|
||||
__Log(obj);
|
||||
// Als er niet genoeg budget op het kostensoort van de factuur/contract is moet er uit budget rubriek Reserve
|
||||
// overgeboekt worden naar het budget kostensoort.
|
||||
var sql = "SELECT NVL(MAX(b.bgt_budget_bedrag) - SUM(f.fin_factuur_totaal), 0) budget_exc_over"
|
||||
+ " , NVL(MAX(b.bgt_budget_btwbedrag) - SUM(f.fin_factuur_totaal_btw), 0) budget_btw_over"
|
||||
+ " FROM bgt_budget b"
|
||||
+ " , fin_factuur f"
|
||||
+ " WHERE b.prs_kostensoort_key = f.prs_kostensoort_key"
|
||||
+ " AND f.prs_kostensoort_key = " + obj.costtype;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var budget_exc_over = oRs("budget_exc_over").Value;
|
||||
var budget_btw_over = oRs("budget_btw_over").Value;
|
||||
oRs.Close();
|
||||
// if (budget_exc_over < 0)
|
||||
//
|
||||
|
||||
// Bij toevoegen van een factuur moet prs_kostensoort_key nog gevuld worden.
|
||||
// Gebruik daarvoor die van mld_opdr.
|
||||
setKostensoort(obj);
|
||||
// Is het factuurnummer/volgnummer uniek binnen het project?
|
||||
checkUniekFactuurnummer(-1, obj.budgetproject, obj.invoice);
|
||||
}
|
||||
|
||||
this.hook_pre_put = function(params, obj, key)
|
||||
{
|
||||
// Bij wijzigen van factuur wordt prs_kostensoort_key automatisch overgenomen van mld_opdr.
|
||||
// Als er niet genoeg budget op het kostensoort van de factuur/contract is moet er uit budget rubriek Reserve
|
||||
// overgeboekt worden naar het budget kostensoort.
|
||||
// Bij wijzigen van factuur moet prs_kostensoort_key nog gevuld worden.
|
||||
// Gebruik daarvoor die van mld_opdr.
|
||||
setKostensoort(obj);
|
||||
// Is de combinatie factuurnummer/volgnummer nog steeds uniek?
|
||||
checkUniekFactuurnummer(key, obj.budgetproject, obj.invoice);
|
||||
}
|
||||
|
||||
function setKostensoort(obj)
|
||||
{
|
||||
var sql = "SELECT o.prs_kostensoort_key"
|
||||
+ " FROM mld_opdr o"
|
||||
+ " WHERE mld_opdr_key = " + obj.order;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (!oRs.eof)
|
||||
obj.costtype = (!oRs.eof ? oRs("prs_kostensoort_key").Value : NULL);
|
||||
oRs.Close();
|
||||
}
|
||||
|
||||
function checkUniekFactuurnummer(p_factuur_key, p_project_key, p_factuurnr)
|
||||
{
|
||||
var sql = "SELECT count(*) aantal"
|
||||
+ " FROM bgt_kostenrubriek r"
|
||||
+ " , prs_kostensoortgrp g"
|
||||
+ " , prs_kostensoort s"
|
||||
+ " , mld_opdr o"
|
||||
+ " , fin_factuur f"
|
||||
+ " WHERE r.bgt_kostenrubriek_key = g.bgt_kostenrubriek_key"
|
||||
+ " AND g.prs_kostensoortgrp_key = s.prs_kostensoortgrp_key"
|
||||
+ " AND s.prs_kostensoort_key = o.prs_kostensoort_key"
|
||||
+ " AND o.mld_opdr_key = f.mld_opdr_key"
|
||||
+ " AND r.bgt_project_key = " + p_project_key
|
||||
+ " AND f.fin_factuur_nr = " + safe.quoted_sql(p_factuurnr)
|
||||
+ (p_factuur_key != -1 ? " AND f.fin_factuur_key <> " + p_factuur_key : "");
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var uniek_factuurnr = (oRs("aantal").Value == 0);
|
||||
oRs.Close();
|
||||
if (!uniek_factuurnr)
|
||||
abort_with_warning("Factuurnummer {0} bestaat al in dit project.".format(p_factuurnr));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -247,15 +247,20 @@ function model_mld_opdr()
|
||||
this.hook_pre_post = function(params, obj)
|
||||
{
|
||||
var parent_key = getQParamInt("id", -1);
|
||||
if (!obj.sequence && obj.sequence!=0)
|
||||
abort_with_warning("Vul een volgnummer voor het contract in.");
|
||||
|
||||
if (parent_key > -1) // Bij kopie van opdracht geen nieuw nummer genereren.
|
||||
{
|
||||
// Vul het contractnummer van het oorspronkelijke contract in.
|
||||
var sql = "SELECT o.mld_opdr_ordernr"
|
||||
+ " FROM mld_opdr o"
|
||||
+ " WHERE o.mld_opdr_key = " + parent_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
obj.ordernr = oRs("mld_opdr_ordernr").Value;
|
||||
oRs.Close();
|
||||
// Kopie contract. Volgnummer moet uniek zijn binnen dit contractnummer.
|
||||
checkUniekContractnummer(-1, obj.budgetproject.id, obj.ordernr, obj.sequence);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -275,9 +280,31 @@ function model_mld_opdr()
|
||||
var oRs = Oracle.Execute(sql);
|
||||
obj.ordernr = oRs("new_ordernr").Value;
|
||||
oRs.Close();
|
||||
// Nieuw contract, dus volgnummer is altijd uniek hierbinnen.
|
||||
}
|
||||
}
|
||||
|
||||
this.hook_pre_put = function(params, obj, key)
|
||||
{
|
||||
// Is de combinatie projectnummer/volgnummer nog steeds uniek?
|
||||
var sql = "SELECT p.bgt_project_key"
|
||||
+ " , o.mld_opdr_ordernr"
|
||||
+ " FROM bgt_project p"
|
||||
+ " , bgt_kostenrubriek r"
|
||||
+ " , prs_kostensoortgrp g"
|
||||
+ " , prs_kostensoort s"
|
||||
+ " , mld_opdr o"
|
||||
+ " WHERE p.bgt_project_key = r.bgt_project_key"
|
||||
+ " AND r.bgt_kostenrubriek_key = g.bgt_kostenrubriek_key"
|
||||
+ " AND g.prs_kostensoortgrp_key = s.prs_kostensoortgrp_key"
|
||||
+ " AND s.prs_kostensoort_key = o.prs_kostensoort_key"
|
||||
+ " AND o.mld_opdr_key = " + key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var v_ordernr = oRs("mld_opdr_ordernr").Value;
|
||||
var v_project_key = oRs("bgt_project_key").Value;
|
||||
oRs.Close();
|
||||
checkUniekContractnummer(key, v_project_key, v_ordernr, obj.sequence);
|
||||
}
|
||||
|
||||
var gparams = {
|
||||
GET: {
|
||||
@@ -296,6 +323,29 @@ function model_mld_opdr()
|
||||
}
|
||||
};
|
||||
|
||||
function checkUniekContractnummer(p_contract_key, p_project_key, p_contractnr, p_volgnr)
|
||||
{
|
||||
var sql = "SELECT count(*) aantal"
|
||||
+ " FROM bgt_project p"
|
||||
+ " , bgt_kostenrubriek r"
|
||||
+ " , prs_kostensoortgrp g"
|
||||
+ " , prs_kostensoort s"
|
||||
+ " , mld_opdr o"
|
||||
+ " WHERE p.bgt_project_key = r.bgt_project_key"
|
||||
+ " AND r.bgt_kostenrubriek_key = g.bgt_kostenrubriek_key"
|
||||
+ " AND g.prs_kostensoortgrp_key = s.prs_kostensoortgrp_key"
|
||||
+ " AND s.prs_kostensoort_key = o.prs_kostensoort_key"
|
||||
+ " AND p.bgt_project_key = " + p_project_key
|
||||
+ " AND o.mld_opdr_ordernr = " + safe.quoted_sql(p_contractnr)
|
||||
+ " AND o.mld_opdr_bedrijfopdr_volgnr = " + p_volgnr
|
||||
+ (p_contract_key != -1 ? " AND o.mld_opdr_key <> " + p_contract_key : "");
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var uniek_contractnr = (oRs("aantal").Value == 0);
|
||||
oRs.Close();
|
||||
if (!uniek_contractnr)
|
||||
abort_with_warning("Contractnummer {0}.{1} bestaat al in dit project.".format(p_contractnr, p_volgnr));
|
||||
}
|
||||
|
||||
|
||||
this.REST_GET = generic_REST_GET(this, gparams);
|
||||
this.REST_POST = generic_REST_POST(this);
|
||||
|
||||
@@ -62,7 +62,7 @@ function model_prs_kostensoort()
|
||||
},
|
||||
"name": {
|
||||
"dbs": "prs_kostensoort_oms",
|
||||
"label": L("prs_kostensoort_oms"),
|
||||
"label": (S("bgt_enabled") ? L("prs_kostensoort_opmerking") : L("prs_kostensoort_oms")),
|
||||
"typ": "varchar",
|
||||
"required": true, /* proberen */
|
||||
"translate": true,
|
||||
@@ -71,7 +71,7 @@ function model_prs_kostensoort()
|
||||
},
|
||||
"remark": {
|
||||
"dbs": "prs_kostensoort_opmerking",
|
||||
"label": L("prs_kostensoort_opmerking"),
|
||||
"label": (S("bgt_enabled") ? L("prs_kostensoort_oms") : L("prs_kostensoort_opmerking")),
|
||||
"typ": "varchar",
|
||||
"required": (S("bgt_enabled") ? false : true),
|
||||
"filter": "like"
|
||||
@@ -140,12 +140,18 @@ function model_prs_kostensoort()
|
||||
"showtransit": true
|
||||
},
|
||||
"budgetcostcategory": {
|
||||
"dbs" : "bgt_kostenrubriek.bgt_kostenrubriek_key",
|
||||
"dbs": "bgt_kostenrubriek.bgt_kostenrubriek_key",
|
||||
"label": L("bgt_kostenrubriek"),
|
||||
"typ": "key",
|
||||
"required": true,
|
||||
"foreign": bgt_budgetcostcategory_foreign(),
|
||||
"showtransit": true
|
||||
},
|
||||
"costcategorycode": {
|
||||
"dbs": "bgt_kostenrubriek.bgt_kostenrubriek_code",
|
||||
"label": L("bgt_kostenrubriek_code"),
|
||||
"typ": "varchar",
|
||||
"readonly": true
|
||||
}
|
||||
};
|
||||
this.fields = object_merge({}, fields_ext, fields_main);
|
||||
@@ -163,6 +169,11 @@ function model_prs_kostensoort()
|
||||
};
|
||||
// this.print = { xmlnode: "budget", where: "kostensoort"};
|
||||
|
||||
this.hook_pre_show = function (obj, fld)
|
||||
{
|
||||
delete this.fields.costcategorycode;
|
||||
}
|
||||
|
||||
this.hook_pre_edit = function (obj, fld)
|
||||
{
|
||||
if ((obj.id > -1) || (obj.costtypegroup && obj.costtypegroup.id > -1))
|
||||
@@ -173,6 +184,8 @@ function model_prs_kostensoort()
|
||||
this.fields.budgetproject.readonly = true;
|
||||
this.fields.budgetcostcategory.hidden_fld = false;
|
||||
this.fields.budgetcostcategory.readonly = true;
|
||||
|
||||
delete this.fields.costcategorycode;
|
||||
}
|
||||
|
||||
if (obj.costtypegroup && obj.costtypegroup.id != -1)
|
||||
|
||||
@@ -37,6 +37,7 @@ if (Session("org_user_key") > 0)
|
||||
else
|
||||
{
|
||||
result.return_url = S("logoff_return_url");
|
||||
var allow_auto_sso = false;
|
||||
if (Session("idp_key") > 0)
|
||||
{
|
||||
var sql = "SELECT aut_idp_remote_logouturl"
|
||||
@@ -44,11 +45,14 @@ else
|
||||
+ " WHERE aut_idp_key = " + Session("idp_key");
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (oRs("aut_idp_remote_logouturl").Value)
|
||||
{
|
||||
result.return_url = oRs("aut_idp_remote_logouturl").Value;
|
||||
allow_auto_sso = true;
|
||||
}
|
||||
oRs.Close();
|
||||
}
|
||||
|
||||
doLogoff();
|
||||
doLogoff(allow_auto_sso);
|
||||
}
|
||||
Response.Write(JSON.stringify(result));
|
||||
Response.End;
|
||||
|
||||
@@ -197,9 +197,10 @@ function doLoginStateless(prs_key, params)
|
||||
|
||||
// Session.Abondon is gevaarlijk: dan verlies je ook CustomerID etc.
|
||||
// Bovendien krijg je met IIS dan nog steeds geen nieuwe ASPSESSIONID
|
||||
function doLogoff()
|
||||
function doLogoff(allow_auto_sso)
|
||||
{
|
||||
Session("no_sso") = 1; // Voorkom autosso
|
||||
if (!allow_auto_sso)
|
||||
Session("no_sso") = 1; // Voorkom auto_sso
|
||||
Session.Contents.Remove("user_key");
|
||||
Session.Contents.Remove("ASPFIXATION");
|
||||
Session.Contents.Remove("must_reset_password");
|
||||
@@ -390,14 +391,19 @@ function testpassword(prs_key, wachtwoord, pmobile)
|
||||
var oslogin = oRs("prs_perslid_oslogin").Value;
|
||||
oRs.Close();
|
||||
|
||||
if (pmobile==1 && mobauth) // Mobile 'verzonnen' wachtwoord
|
||||
if (mobauth && mobauthexp && new Date() <= mobauthexp) // Mobile 'verzonnen' wachtwoord nog niet verlopen?
|
||||
{
|
||||
var mobww = wachtwoord.toLowerCase(); // wij sturen lowercase base32
|
||||
mobww = mobww.replace(/0/i, 'o'); // 0 / 1 / 8 komen daar niet in voor
|
||||
mobww = mobww.replace(/1/i, 'l');
|
||||
mobww = mobww.replace(/8/i, 'b');
|
||||
if (mobauth == mobww && mobauthexp && new Date() <= mobauthexp)
|
||||
if (mobauth == mobww)
|
||||
{
|
||||
var sql = "UPDATE prs_perslid" // geen hergebruik
|
||||
+ " SET prs_perslid_authenticatie = NULL"
|
||||
+ " WHERE prs_perslid_key = " + prs_key;
|
||||
Oracle.Execute(sql);
|
||||
|
||||
return true; // Goed
|
||||
}
|
||||
__Log("Mobile token check failed");
|
||||
|
||||
@@ -87,7 +87,7 @@ if (user_key < 0)
|
||||
if (user_key < 0)
|
||||
{
|
||||
var auth = String(Request.ServerVariables("HTTP_AUTHORIZATION"));
|
||||
if (auth.match(/^Basic /))
|
||||
if (auth.match(/^Basic /i))
|
||||
{
|
||||
var b64 = auth.substring(6);
|
||||
var plain = decode_b64(b64);
|
||||
@@ -333,8 +333,31 @@ if (user_key < 0 && S("os_logon")
|
||||
IntegratedSSO(); // Voor licentieklanten
|
||||
}
|
||||
|
||||
//if (user_key < 0)
|
||||
// trySSO("DEFAULT"); // zal je standaard naar het loginscherm sturen
|
||||
// Tenslotte proberen we automatische iDP's
|
||||
if (user_key < 0
|
||||
&& typeof Session("no_sso") == "undefined"
|
||||
&& !Request.ServerVariables("HTTP_X_FACILITOR_API_KEY").Count
|
||||
&& !Request.QueryString("APIKEY").Count)
|
||||
{
|
||||
var ip = String(Request.ServerVariables("REMOTE_ADDR"));
|
||||
var sql = "SELECT aut_idp_code"
|
||||
+ " , aut_idp_ipfilter"
|
||||
+ " FROM aut_idp"
|
||||
+ " WHERE aut_idp_internal = 0"
|
||||
+ " AND aut_idp_ipauto = 1"
|
||||
+ " AND aut_idp_ipfilter IS NOT NULL"
|
||||
+ " ORDER BY aut_idp_ipfilter"; // liefst wil ik sorteren met CIDR met de meeste significante bits (specifiekste) eerst?
|
||||
var oRs = Oracle.Execute(sql);
|
||||
while (user_key < 0 && !oRs.Eof)
|
||||
{
|
||||
var ip_restrict = oRs("aut_idp_ipfilter").Value;
|
||||
var ip_ok = IP.inAnySubnet(ip, ip_restrict);
|
||||
if (IP.inAnySubnet(ip, ip_restrict))
|
||||
trySSO(oRs("aut_idp_code").Value);
|
||||
oRs.MoveNext();
|
||||
}
|
||||
oRs.Close();
|
||||
}
|
||||
|
||||
if (user_key > 0) // dan hebben we (nu) een nieuwe user
|
||||
{
|
||||
|
||||
@@ -69,6 +69,7 @@ function init_budget()
|
||||
{ req_info: "initsearch",
|
||||
niveau: init_niveau,
|
||||
parent_key: (v_budgetproject ? v_budgetproject : -1),
|
||||
child_key: v_costtype,
|
||||
init_key: init_key
|
||||
},
|
||||
re_init_plaats);
|
||||
@@ -85,7 +86,7 @@ function re_init_soort(data)
|
||||
|
||||
function re_init_plaats(data)
|
||||
{
|
||||
var init_key = ($("#account").val() != -1 ? $("#account").val() : -1);
|
||||
var init_key = ($("#account").val() != -1 ? $("#account").val() : data.parents.K);
|
||||
var project_key = $("#budgetproject").val() || data.parents.P;
|
||||
fill_plaatsselector("KP", project_key, init_key);
|
||||
}
|
||||
@@ -132,7 +133,16 @@ function change_groep()
|
||||
}
|
||||
function change_soort()
|
||||
{
|
||||
var btw_perc = parseFloat($("#costtype option:selected").attr("perc_btw").replace(/,/g,"."));
|
||||
var project_key = $("#budgetproject").val();
|
||||
var kplaats_key = -1;
|
||||
var btw_perc = 0;
|
||||
if ($("#costtype").val() != -1 )
|
||||
{
|
||||
kplaats_key = $("#costtype option:selected").attr("kpn_key");
|
||||
btw_perc = parseFloat($("#costtype option:selected").attr("perc_btw").replace(/,/g,"."));
|
||||
}
|
||||
fill_plaatsselector("KP", project_key, kplaats_key);
|
||||
|
||||
if ($("#amount").val() && btw_perc != kostensoort_btw)
|
||||
{
|
||||
FcltMgr.confirm(L("bgt_confirm_recalc_vat"), function() { change_amount(); } );
|
||||
@@ -232,7 +242,7 @@ function fill_plaatsselector(niveau, parent_key, init_key)
|
||||
{ req_info: "plaatssearch",
|
||||
niveau: niveau,
|
||||
parent_key: parent_key,
|
||||
init_key: init_key //(init_key ? init_key : -1);
|
||||
init_key: (init_key ? init_key : -1)
|
||||
},
|
||||
process_info);
|
||||
}
|
||||
@@ -274,12 +284,14 @@ function process_info(data)
|
||||
var opt = data.lov[i];
|
||||
if (data.niveau == "KP")
|
||||
{
|
||||
add_data = ' par_key="' + opt.atr.par_key + '"';
|
||||
add_data = ' par_key="' + opt.atr.par_key + '"'
|
||||
+ ' kpn_key="' + opt.atr.kpn_key + '"';
|
||||
}
|
||||
else
|
||||
{
|
||||
add_data = ' incl_btw="' + opt.atr.btw_inc + '"'
|
||||
+ ' perc_btw="' + opt.atr.btw_val + '"';
|
||||
+ ' perc_btw="' + opt.atr.btw_val + '"'
|
||||
+ ' kpn_key="' + opt.atr.kpn_key + '"';
|
||||
}
|
||||
new_lov += '<option value="' + opt.key + '"' + (opt.sel?" selected":"") + add_data + '>'+ opt.oms + '</option>';
|
||||
if (opt.sel)
|
||||
|
||||
@@ -206,7 +206,7 @@ var authparamsBGTUSE = user.checkAutorisation("WEB_BGTUSE");
|
||||
{ label: L("lcl_period_to"),
|
||||
initEmpty: true
|
||||
});
|
||||
CHECKBOXTR(L("lcl_fin_total_sum"), "fldbgtinclbtw", "bgt_inclbtw", false);
|
||||
CHECKBOXTR(L("lcl_fin_total_sum"), "fldbgtinclbtw", "bgt_inclbtw", true);
|
||||
%>
|
||||
</table>
|
||||
</td><!-- end column 2-->
|
||||
|
||||
@@ -180,7 +180,7 @@ var transitParam = buildTransitParam([]);
|
||||
+ " GROUP BY m2.bgt_budget_key_naar"
|
||||
+ ") mutatie"
|
||||
+ " GROUP BY mutatie.bgt_budget_key"
|
||||
+ " ) mut";
|
||||
+ " ) ";
|
||||
|
||||
// zoiets moet het dan gaan worden. Vast nog wat verfijnder. UNIONs met reserve e.d. nodig?
|
||||
if (groupby == 1) // facturen
|
||||
@@ -313,163 +313,197 @@ var transitParam = buildTransitParam([]);
|
||||
// Die worden afzonderlijk bijgevoegd (UNION) om wel het totaal te krijgen qua budget
|
||||
|
||||
// Eerst de budgetten direct bij kostensoort
|
||||
var sql1 = "SELECT ins_discipline_omschrijving project,"
|
||||
+ " bgt_project_omschrijving deelproject,"
|
||||
var sql1 = "SELECT id.ins_discipline_omschrijving project,"
|
||||
+ " pr.bgt_project_omschrijving deelproject,"
|
||||
+ " kr.bgt_kostenrubriek_oms rubriek,"
|
||||
+ " ksg.prs_kostensoortgrp_oms groep,"
|
||||
+ " bud.prs_kostensoortgrp_key,"
|
||||
+ " bud.bgt_kostenrubriek_key,"
|
||||
+ " kg.prs_kostensoortgrp_oms groep,"
|
||||
+ " bd.prs_kostensoortgrp_key,"
|
||||
+ " bd.bgt_kostenrubriek_key,"
|
||||
+ " ks.prs_kostensoort_key,"
|
||||
+ " ks.prs_kostensoort_oms onderdeel,"
|
||||
+ " ks.prs_kostensoort_altcode rcode,"
|
||||
+ " ks.prs_kostensoort_altcode sortcode,"
|
||||
+ " 0 budget_reserve,"
|
||||
+ " SUM(COALESCE(bud.bgt_budget_bedrag, 0)) budget_actueel,"
|
||||
+ " BGT.getBudgetOverschrijding(ks.prs_kostensoort_key, 0, NULL) budget_reserve,"
|
||||
+ " SUM(COALESCE(bd.bgt_budget_bedrag, 0)) budget_actueel,"
|
||||
+ " SUM(COALESCE(mut.bedrag_naar, 0) + COALESCE(mut.bedrag_van, 0)) budget_mutatie"
|
||||
+ " FROM prs_kostensoort ks,"
|
||||
+ " prs_kostensoortgrp ksg,"
|
||||
+ " prs_kostensoortgrp kg,"
|
||||
+ " bgt_kostenrubriek kr,"
|
||||
+ " bgt_budget bud,"
|
||||
+ " bgt_budget bd,"
|
||||
+ " bgt_project pr,"
|
||||
+ " ins_tab_discipline id,"
|
||||
+ mutatie_sql
|
||||
+ " WHERE ksg.bgt_kostenrubriek_key = kr.bgt_kostenrubriek_key"
|
||||
+ " AND ks.prs_kostensoort_key = bud.prs_kostensoort_key"
|
||||
+ mutatie_sql + "mut"
|
||||
+ " WHERE kg.bgt_kostenrubriek_key = kr.bgt_kostenrubriek_key"
|
||||
+ " AND ks.prs_kostensoort_key = bd.prs_kostensoort_key(+)"
|
||||
+ " AND pr.bgt_project_key = kr.bgt_project_key"
|
||||
+ " AND ksg.prs_kostensoortgrp_key = ks.prs_kostensoortgrp_key"
|
||||
+ " AND kg.prs_kostensoortgrp_key = ks.prs_kostensoortgrp_key"
|
||||
+ " AND id.ins_discipline_key = pr.ins_discipline_key"
|
||||
+ " AND mut.bgt_budget_key(+) = bud.bgt_budget_key"
|
||||
+ " AND mut.bgt_budget_key(+) = bd.bgt_budget_key"
|
||||
+ (bgtproj_key_arr.length > 0 ? " AND pr.bgt_project_key IN (" + bgtproj_key_arr.join(",") + ")" : "")
|
||||
+ (bgtrubr_key > 0 ? "AND kr.bgt_kostenrubriek_key = " + bgtrubr_key : "")
|
||||
+ (bgtgrp_key > 0 ? " AND ksg.prs_kostensoortgrp_key = " + bgtgrp_key : "")
|
||||
+ (bgtgrp_key > 0 ? " AND kg.prs_kostensoortgrp_key = " + bgtgrp_key : "")
|
||||
+ " AND pr.ins_discipline_key =" + bgtdisc_key;
|
||||
sql1 += " GROUP BY ksg.prs_kostensoortgrp_oms,"
|
||||
sql1 += " GROUP BY kg.prs_kostensoortgrp_oms,"
|
||||
+ " ks.prs_kostensoort_key,"
|
||||
+ " ks.prs_kostensoort_opmerking ,"
|
||||
+ " ks.prs_kostensoort_oms,"
|
||||
+ " ks.prs_kostensoort_altcode,"
|
||||
+ " bud.prs_kostensoortgrp_key,"
|
||||
+ " bd.prs_kostensoortgrp_key,"
|
||||
+ " kr.bgt_kostenrubriek_oms,"
|
||||
+ " bud.bgt_kostenrubriek_key,"
|
||||
+ " bd.bgt_kostenrubriek_key,"
|
||||
+ " pr.bgt_project_key,"
|
||||
+ " bgt_project_omschrijving ,"
|
||||
+ " ins_discipline_omschrijving";
|
||||
+ " pr.bgt_project_omschrijving ,"
|
||||
+ " id.ins_discipline_omschrijving";
|
||||
}
|
||||
|
||||
if (groupby == 4) // 4. kostensoortgrp
|
||||
{
|
||||
var sql1 = "SELECT ins_discipline_omschrijving project,"
|
||||
+ " bgt_project_omschrijving deelproject,"
|
||||
var sql1 = "SELECT id.ins_discipline_omschrijving project,"
|
||||
+ " pr.bgt_project_omschrijving deelproject,"
|
||||
+ " kr.bgt_kostenrubriek_oms rubriek,"
|
||||
+ " ksg.prs_kostensoortgrp_altcode rcode,"
|
||||
+ " ksg.prs_kostensoortgrp_altcode sortcode,"
|
||||
+ " ksg.prs_kostensoortgrp_oms groep,"
|
||||
+ " bud.prs_kostensoortgrp_key,"
|
||||
+ " bud.bgt_kostenrubriek_key,"
|
||||
+ " 0 budget_reserve,"
|
||||
+ " SUM(COALESCE(bud.bgt_budget_bedrag, 0)) budget_actueel,"
|
||||
+ " kg.prs_kostensoortgrp_altcode rcode,"
|
||||
+ " kg.prs_kostensoortgrp_altcode sortcode,"
|
||||
+ " kg.prs_kostensoortgrp_oms groep,"
|
||||
+ " bd.prs_kostensoortgrp_key,"
|
||||
+ " bd.bgt_kostenrubriek_key,"
|
||||
+ " MAX(COALESCE(vn.reserve_bedrag, 0)) budget_reserve,"
|
||||
+ " SUM(COALESCE(bd.bgt_budget_bedrag, 0)) budget_actueel,"
|
||||
+ " SUM(COALESCE(mut.bedrag_naar, 0) + COALESCE(mut.bedrag_van, 0)) budget_mutatie"
|
||||
+ " FROM prs_kostensoortgrp ksg,"
|
||||
+ " FROM prs_kostensoortgrp kg,"
|
||||
+ " bgt_kostenrubriek kr,"
|
||||
+ " bgt_budget bud,"
|
||||
+ " bgt_budget bd,"
|
||||
+ " bgt_project pr,"
|
||||
+ " ins_tab_discipline id,"
|
||||
+ mutatie_sql
|
||||
+ " WHERE ksg.bgt_kostenrubriek_key = kr.bgt_kostenrubriek_key"
|
||||
+ " AND bud.prs_kostensoortgrp_key = ksg.prs_kostensoortgrp_key"
|
||||
+ " (SELECT ks_1.prs_kostensoortgrp_key"
|
||||
+ " , SUM(BGT.getBudgetOverschrijding(ks_1.prs_kostensoort_key, 0, NULL)) reserve_bedrag"
|
||||
+ " FROM prs_kostensoort ks_1"
|
||||
+ " GROUP BY ks_1.prs_kostensoortgrp_key"
|
||||
+ " ) vn,"
|
||||
+ mutatie_sql + "mut"
|
||||
+ " WHERE kg.bgt_kostenrubriek_key = kr.bgt_kostenrubriek_key"
|
||||
+ " AND kg.prs_kostensoortgrp_key = bd.prs_kostensoortgrp_key(+)"
|
||||
+ " AND kg.prs_kostensoortgrp_key = vn.prs_kostensoortgrp_key"
|
||||
+ " AND pr.bgt_project_key = kr.bgt_project_key"
|
||||
+ " AND id.ins_discipline_key = pr.ins_discipline_key"
|
||||
+ " AND mut.bgt_budget_key(+) = bud.bgt_budget_key"
|
||||
+ " AND bud.bgt_budget_isreserve = 0" // reserve afzonderlijk
|
||||
+ " AND mut.bgt_budget_key(+) = bd.bgt_budget_key"
|
||||
+ " AND bd.bgt_budget_isreserve = 0" // reserve afzonderlijk
|
||||
+ (bgtproj_key_arr.length > 0 ? " AND pr.bgt_project_key IN (" + bgtproj_key_arr.join(",") + ")" : "")
|
||||
+ (bgtrubr_key > 0 ? " AND kr.bgt_kostenrubriek_key = " + bgtrubr_key : "")
|
||||
+ " AND pr.ins_discipline_key =" + bgtdisc_key;
|
||||
sql1 += " GROUP BY kr.bgt_kostenrubriek_oms,"
|
||||
+ " ksg.prs_kostensoortgrp_altcode,"
|
||||
+ " ksg.prs_kostensoortgrp_oms,"
|
||||
+ " bud.prs_kostensoortgrp_key,"
|
||||
+ " bud.bgt_kostenrubriek_key,"
|
||||
+ " kg.prs_kostensoortgrp_altcode,"
|
||||
+ " kg.prs_kostensoortgrp_oms,"
|
||||
+ " bd.prs_kostensoortgrp_key,"
|
||||
+ " bd.bgt_kostenrubriek_key,"
|
||||
+ " pr.bgt_project_key,"
|
||||
+ " bgt_project_omschrijving ,"
|
||||
+ " ins_discipline_omschrijving";
|
||||
+ " pr.bgt_project_omschrijving ,"
|
||||
+ " id.ins_discipline_omschrijving";
|
||||
}
|
||||
|
||||
if (groupby == 5) // 5. kostenrubriek
|
||||
{
|
||||
var sql1 = "SELECT ins_discipline_omschrijving project,"
|
||||
+ " bgt_project_omschrijving deelproject,"
|
||||
var sql1 = "SELECT id.ins_discipline_omschrijving project,"
|
||||
+ " pr.bgt_project_omschrijving deelproject,"
|
||||
+ " kr.bgt_kostenrubriek_oms rubriek,"
|
||||
+ " kr.bgt_kostenrubriek_code rcode,"
|
||||
+ " kr.bgt_kostenrubriek_code sortcode,"
|
||||
+ " kr.bgt_kostenrubriek_key,"
|
||||
+ " 0 budget_reserve,"
|
||||
+ " SUM(COALESCE(bud.bgt_budget_bedrag, 0)) budget_actueel,"
|
||||
+ " MAX(COALESCE(vn.reserve_bedrag, 0)) budget_reserve,"
|
||||
+ " SUM(COALESCE(bd.bgt_budget_bedrag, 0)) budget_actueel,"
|
||||
+ " SUM(COALESCE(mut.bedrag_naar, 0) + COALESCE(mut.bedrag_van, 0)) budget_mutatie"
|
||||
+ " FROM bgt_kostenrubriek kr,"
|
||||
+ " bgt_budget bud,"
|
||||
+ " bgt_budget bd,"
|
||||
+ " bgt_project pr,"
|
||||
+ " ins_tab_discipline id,"
|
||||
+ mutatie_sql
|
||||
+ " WHERE bud.bgt_kostenrubriek_key = kr.bgt_kostenrubriek_key"
|
||||
+ " (SELECT kg_1.bgt_kostenrubriek_key"
|
||||
+ " , SUM(BGT.getBudgetOverschrijding(ks_1.prs_kostensoort_key, 0, NULL)) reserve_bedrag"
|
||||
+ " FROM prs_kostensoort ks_1"
|
||||
+ " , prs_kostensoortgrp kg_1"
|
||||
+ " WHERE ks_1.prs_kostensoortgrp_key = kg_1.prs_kostensoortgrp_key"
|
||||
+ " GROUP BY kg_1.bgt_kostenrubriek_key"
|
||||
+ " ) vn,"
|
||||
+ mutatie_sql + "mut"
|
||||
+ " WHERE kr.bgt_kostenrubriek_key = bd.bgt_kostenrubriek_key(+)"
|
||||
+ " AND kr.bgt_kostenrubriek_key = vn.bgt_kostenrubriek_key"
|
||||
+ " AND pr.bgt_project_key = kr.bgt_project_key"
|
||||
+ " AND id.ins_discipline_key = pr.ins_discipline_key"
|
||||
+ " AND mut.bgt_budget_key(+) = bud.bgt_budget_key"
|
||||
+ " AND bd.bgt_budget_key = mut.bgt_budget_key(+)"
|
||||
+ (bgtproj_key_arr.length > 0 ? " AND pr.bgt_project_key IN (" + bgtproj_key_arr.join(",") + ")" : "")
|
||||
+ " AND pr.ins_discipline_key =" + bgtdisc_key
|
||||
+ " GROUP BY kr.bgt_kostenrubriek_oms,"
|
||||
+ " kr.bgt_kostenrubriek_key,"
|
||||
+ " bgt_project_omschrijving ,"
|
||||
+ " bgt_kostenrubriek_code ,"
|
||||
+ " ins_discipline_omschrijving";
|
||||
+ " pr.bgt_project_omschrijving ,"
|
||||
+ " kr.bgt_kostenrubriek_code ,"
|
||||
+ " id.ins_discipline_omschrijving";
|
||||
|
||||
if (bgt_inclbtw)
|
||||
{
|
||||
//BTW
|
||||
sql1 += " UNION SELECT ins_discipline_omschrijving project,"
|
||||
+ " bgt_project_omschrijving deelproject,"
|
||||
sql1 += " UNION SELECT id.ins_discipline_omschrijving project,"
|
||||
+ " pr.bgt_project_omschrijving deelproject,"
|
||||
+ " 'BTW' rubriek,"
|
||||
+ " 'B' rcode,"
|
||||
+ " '92' sortcode,"
|
||||
+ " -3 bgt_kostenrubriek_key,"
|
||||
+ " 0 budget_reserve,"
|
||||
+ " SUM(COALESCE(bud.bgt_budget_btwbedrag, 0)) budget_actueel,"
|
||||
+ " MAX(COALESCE(vn.reserve_bedrag, 0)) budget_reserve,"
|
||||
+ " SUM(COALESCE(bd.bgt_budget_btwbedrag, 0)) budget_actueel,"
|
||||
+ " SUM(COALESCE(mut.btwbedrag_naar, 0) + COALESCE(mut.btwbedrag_van, 0)) budget_mutatie"
|
||||
+ " FROM bgt_budget bud,"
|
||||
+ " FROM bgt_budget bd,"
|
||||
+ " bgt_project pr,"
|
||||
+ " ins_tab_discipline id,"
|
||||
+ mutatie_sql
|
||||
+ " WHERE pr.bgt_project_key = bud.bgt_project_key"
|
||||
+ " (SELECT kr_1.bgt_project_key"
|
||||
+ " , SUM(BGT.getBudgetOverschrijding(ks_1.prs_kostensoort_key, 1, NULL)) reserve_bedrag"
|
||||
+ " FROM prs_kostensoort ks_1"
|
||||
+ " , prs_kostensoortgrp kg_1"
|
||||
+ " , bgt_kostenrubriek kr_1"
|
||||
+ " WHERE ks_1.prs_kostensoortgrp_key = kg_1.prs_kostensoortgrp_key"
|
||||
+ " AND kg_1.bgt_kostenrubriek_key = kr_1.bgt_kostenrubriek_key"
|
||||
+ " GROUP BY kr_1.bgt_project_key"
|
||||
+ " ) vn,"
|
||||
+ mutatie_sql + "mut"
|
||||
+ " WHERE pr.bgt_project_key = bd.bgt_project_key(+)"
|
||||
+ " AND pr.bgt_project_key = vn.bgt_project_key"
|
||||
+ " AND id.ins_discipline_key = pr.ins_discipline_key"
|
||||
+ " AND mut.bgt_budget_key(+) = bud.bgt_budget_key"
|
||||
+ " AND mut.bgt_budget_key(+) = bd.bgt_budget_key"
|
||||
+ (bgtproj_key_arr.length > 0 ? " AND pr.bgt_project_key IN (" + bgtproj_key_arr.join(",") + ")" : "")
|
||||
+ " AND pr.ins_discipline_key =" + bgtdisc_key
|
||||
+ " GROUP BY bgt_project_omschrijving ,"
|
||||
+ " ins_discipline_omschrijving";
|
||||
+ " GROUP BY pr.bgt_project_omschrijving ,"
|
||||
+ " id.ins_discipline_omschrijving";
|
||||
}
|
||||
}
|
||||
|
||||
if (groupby == 6) // 6. deelproject
|
||||
{
|
||||
var sql1 = "SELECT ins_discipline_omschrijving project,"
|
||||
+ " bgt_project_omschrijving deelproject,"
|
||||
var sql1 = "SELECT id.ins_discipline_omschrijving project,"
|
||||
+ " pr.bgt_project_omschrijving deelproject,"
|
||||
+ " pr.bgt_project_key,"
|
||||
+ " 0 budget_reserve,"
|
||||
+ " SUM(COALESCE(bud.bgt_budget_bedrag, 0)"
|
||||
+ (bgt_inclbtw ? " + COALESCE(bud.bgt_budget_btwbedrag, 0)" : "")
|
||||
+ " MAX(COALESCE(vn.reserve_bedrag, 0)) budget_reserve,"
|
||||
+ " SUM(COALESCE(bd.bgt_budget_bedrag, 0)"
|
||||
+ (bgt_inclbtw ? " + COALESCE(bd.bgt_budget_btwbedrag, 0)" : "")
|
||||
+ ") budget_actueel,"
|
||||
+ " SUM(COALESCE(mut.bedrag_naar, 0) + COALESCE(mut.bedrag_van,0)) budget_mutatie"
|
||||
+ " FROM bgt_budget bud,"
|
||||
+ " FROM bgt_budget bd,"
|
||||
+ " bgt_project pr,"
|
||||
+ " ins_tab_discipline id,"
|
||||
+ mutatie_sql
|
||||
+ " WHERE bud.bgt_project_key = pr.bgt_project_key"
|
||||
+ " (SELECT kr_1.bgt_project_key"
|
||||
+ " , SUM(BGT.getBudgetOverschrijding(ks_1.prs_kostensoort_key, 0, NULL)) reserve_bedrag"
|
||||
+ " FROM prs_kostensoort ks_1"
|
||||
+ " , prs_kostensoortgrp kg_1"
|
||||
+ " , bgt_kostenrubriek kr_1"
|
||||
+ " WHERE ks_1.prs_kostensoortgrp_key = kg_1.prs_kostensoortgrp_key"
|
||||
+ " AND kg_1.bgt_kostenrubriek_key = kr_1.bgt_kostenrubriek_key"
|
||||
+ " GROUP BY kr_1.bgt_project_key"
|
||||
+ " ) vn,"
|
||||
+ mutatie_sql + "mut"
|
||||
+ " WHERE pr.bgt_project_key = bd.bgt_project_key(+)"
|
||||
+ " AND pr.bgt_project_key = vn.bgt_project_key"
|
||||
+ " AND id.ins_discipline_key = pr.ins_discipline_key"
|
||||
+ " AND mut.bgt_budget_key(+) = bud.bgt_budget_key"
|
||||
+ " AND bd.bgt_budget_key = mut.bgt_budget_key(+)"
|
||||
+ (bgtproj_key_arr.length > 0 ? " AND pr.bgt_project_key IN (" + bgtproj_key_arr.join(",") + ")" : "")
|
||||
+ " AND pr.ins_discipline_key =" + bgtdisc_key;
|
||||
sql1 += " GROUP BY pr.bgt_project_key,"
|
||||
+ " bgt_project_omschrijving ,"
|
||||
+ " ins_discipline_omschrijving";
|
||||
+ " pr.bgt_project_omschrijving ,"
|
||||
+ " id.ins_discipline_omschrijving";
|
||||
}
|
||||
|
||||
|
||||
@@ -573,11 +607,11 @@ var transitParam = buildTransitParam([]);
|
||||
+ (groupby <= 4 ? " bud.groep groep, bud.prs_kostensoortgrp_key," : "")
|
||||
+ (groupby <= 3 ? " bud.onderdeel onderdeel, besteding.prs_kostensoort_key," : "")
|
||||
+ " MAX(bud.budget_reserve) budget_reserve,"
|
||||
+ " MAX(bud.budget_actueel) budget_actueel,"
|
||||
+ " MAX(bud.budget_actueel - bud.budget_mutatie + bud.budget_reserve) budget_origineel,"
|
||||
+ " MAX(bud.budget_actueel + bud.budget_reserve) budget_actueel,"
|
||||
+ " MAX(bud.budget_actueel - bud.budget_mutatie) budget_origineel,"
|
||||
+ " MAX(bud.budget_mutatie) budget_mutatie,"
|
||||
+ " SUM(besteding.gecontracteerd) gecontracteerd,"
|
||||
+ " MAX(COALESCE(bud.budget_actueel, 0)) - SUM(COALESCE(besteding.gecontracteerd, 0)) tecontracteren,"
|
||||
+ " MAX(COALESCE(bud.budget_actueel + bud.budget_reserve, 0)) - SUM(COALESCE(besteding.gecontracteerd, 0)) tecontracteren,"
|
||||
+ " SUM(besteding.gefactureerd) gefactureerd,"
|
||||
+ " SUM(besteding.tefactureren) tefactureren"
|
||||
+ " FROM (" + sql1 + ") bud,"
|
||||
@@ -888,8 +922,7 @@ var transitParam = buildTransitParam([]);
|
||||
if (groupby > 2) // denk ik
|
||||
{
|
||||
rst.addColumn(new Column({caption: "Origineel", content: budgetOrigineelShow, fnAmount: budgetOrigineelAmount, datatype: "currency", total: true}));
|
||||
// if (groupby == 5)
|
||||
// rst.addColumn(new Column({caption: "Reserve", content: budgetReserveShow, fnAmount: budgetReserveAmount, datatype: "currency", total: true}));
|
||||
rst.addColumn(new Column({caption: "Van/naar Reserve", content: budgetReserveShow, fnAmount: budgetReserveAmount, datatype: "currency", total: true}));
|
||||
rst.addColumn(new Column({caption: "Mutatie", content: budgetMutatieShow, fnAmount: budgetMutatieAmount, datatype: "currency", total: true}));
|
||||
rst.addColumn(new Column({caption: L("bgt_budget_bedrag"), content: budgetActueelShow, fnAmount: budgetActueelAmount, datatype: "currency", total: true}));
|
||||
}
|
||||
|
||||
@@ -67,8 +67,9 @@ function re_init_soort(data)
|
||||
{
|
||||
fill_rubriekselector("D", -1 , -1, data.parents.D);
|
||||
fill_rubriekselector("P", data.parents.D, -1, data.parents.P);
|
||||
fill_rubriekselector("B", data.parents.P, -1, data.parents.B);
|
||||
fill_rubriekselector("B", -1 , data.parents.P, data.parents.B);
|
||||
fill_rubriekselector("O", data.parents.P, data.parents.B, data.parents.O);
|
||||
fill_rubriekselector("S", data.parents.G, data.parents.S, data.parents.S);
|
||||
}
|
||||
|
||||
function change_discipline()
|
||||
@@ -93,6 +94,7 @@ function change_bedrijf()
|
||||
var project_key = (typeof $("#budgetproject").val() == "undefined" ? (typeof budgetproject == "undefined" ? -1 : budgetproject) : $("#budgetproject").val() );
|
||||
var bedrijf_key = (typeof $("#company").val() == "undefined" ? (typeof company == "undefined" ? -1 : company) : $("#company").val() );
|
||||
fill_rubriekselector("O", project_key, bedrijf_key);
|
||||
fill_rubriekselector("S", -1, -1, -1);
|
||||
}
|
||||
|
||||
function change_opdracht()
|
||||
@@ -100,10 +102,12 @@ function change_opdracht()
|
||||
// Als opdracht bekend is kan het bedrag ingevuld worden:
|
||||
// we weten dan de btw-percentage dat gebruikt moet worden,
|
||||
// en sla de key voor kostensoort bij deze opdracht op.
|
||||
var kostengroep_key = $("#order option:selected").attr("grp_key");
|
||||
var kostensoort_key = $("#order option:selected").attr("cost_key");
|
||||
if (kostensoort_key)
|
||||
$("#costtype").val(kostensoort_key);
|
||||
|
||||
{
|
||||
fill_rubriekselector("S", kostengroep_key, kostensoort_key, kostensoort_key);
|
||||
}
|
||||
var btw_perc = parseFloat($("#order option:selected").attr("perc_btw").replace(/,/g,"."));
|
||||
if ($("#total").val() && btw_perc != kostensoort_btw)
|
||||
{
|
||||
@@ -158,13 +162,14 @@ function fill_rubriekselector(niveau, parent_key, child_key, init_key)
|
||||
function process_info(data)
|
||||
{
|
||||
var select;
|
||||
var readonly = false;
|
||||
switch(data.niveau)
|
||||
{
|
||||
case "D": select = $("#budgetdiscipline"); break;
|
||||
case "P": select = $("#budgetproject"); break;
|
||||
case "R": select = $("#budgetcostcategory"); break;
|
||||
case "G": select = $("#costtypegroup"); break;
|
||||
case "S": select = $("#costtype"); break;
|
||||
case "S": select = $("#costtype"); readonly = true; break;
|
||||
case "B": select = $("#company"); break;
|
||||
case "O": select = $("#order"); break;
|
||||
case "KP": select = $("#account"); break;
|
||||
@@ -187,13 +192,14 @@ function process_info(data)
|
||||
{
|
||||
add_data = ' incl_btw="' + opt.atr.btw_inc + '"'
|
||||
+ ' perc_btw="' + opt.atr.btw_val + '"'
|
||||
+ ' grp_key="' + opt.atr.grp_key + '"'
|
||||
+ ' cost_key="' + opt.atr.srt_key + '"';
|
||||
}
|
||||
new_lov += '<option value="' + opt.key + '"' + (opt.sel?" selected":"") + add_data + '>'+ opt.oms + '</option>';
|
||||
if (opt.sel)
|
||||
sel_key = opt.key;
|
||||
}
|
||||
select.prop("disabled", false);
|
||||
select.prop("disabled", readonly);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -45,6 +45,7 @@ switch (req_info)
|
||||
+ " , -1 soort_key"
|
||||
+ " , -1 opdracht_key"
|
||||
+ " , -1 bedrijf_key"
|
||||
+ " , NULL kostenplaats_key"
|
||||
+ " FROM bgt_disc_params d"
|
||||
+ " , ins_tab_discipline t"
|
||||
+ " WHERE t.ins_discipline_key = d.bgt_ins_discipline_key"
|
||||
@@ -62,6 +63,7 @@ switch (req_info)
|
||||
+ " , -1 soort_key"
|
||||
+ " , -1 opdracht_key"
|
||||
+ " , -1 bedrijf_key"
|
||||
+ " , NULL kostenplaats_key"
|
||||
+ " FROM bgt_disc_params d"
|
||||
+ " , bgt_project p"
|
||||
+ " WHERE d.bgt_ins_discipline_key = p.ins_discipline_key"
|
||||
@@ -75,10 +77,11 @@ switch (req_info)
|
||||
+ " d.bgt_ins_discipline_key disc_key"
|
||||
+ " , p.bgt_project_key project_key"
|
||||
+ " , -1 rubriek_key"
|
||||
+ " , -1 groep_key"
|
||||
+ " , -1 soort_key"
|
||||
+ " , g.prs_kostensoortgrp_key groep_key"
|
||||
+ " , s.prs_kostensoort_key soort_key"
|
||||
+ " , o.mld_opdr_key opdracht_key"
|
||||
+ " , b.prs_bedrijf_key bedrijf_key"
|
||||
+ " , NULL kostenplaats_key"
|
||||
+ " FROM bgt_disc_params d"
|
||||
+ " , bgt_project p"
|
||||
+ " , bgt_kostenrubriek r"
|
||||
@@ -105,6 +108,7 @@ switch (req_info)
|
||||
+ " , -1 soort_key"
|
||||
+ " , -1 opdracht_key"
|
||||
+ " , b.prs_bedrijf_key bedrijf_key"
|
||||
+ " , NULL kostenplaats_key"
|
||||
+ " FROM bgt_disc_params d"
|
||||
+ " , bgt_project p"
|
||||
+ " , bgt_kostenrubriek r"
|
||||
@@ -130,6 +134,7 @@ switch (req_info)
|
||||
+ " , -1 soort_key"
|
||||
+ " , NULL opdracht_key"
|
||||
+ " , NULL bedrijf_key"
|
||||
+ " , NULL kostenplaats_key"
|
||||
+ " FROM bgt_disc_params d"
|
||||
+ " , bgt_project p"
|
||||
+ " , bgt_kostenrubriek r"
|
||||
@@ -147,6 +152,7 @@ switch (req_info)
|
||||
+ " , -1 soort_key"
|
||||
+ " , NULL opdracht_key"
|
||||
+ " , NULL bedrijf_key"
|
||||
+ " , NULL kostenplaats_key"
|
||||
+ " FROM bgt_disc_params d"
|
||||
+ " , bgt_project p"
|
||||
+ " , bgt_kostenrubriek r"
|
||||
@@ -166,6 +172,7 @@ switch (req_info)
|
||||
+ " , s.prs_kostensoort_key soort_key"
|
||||
+ " , NULL opdracht_key"
|
||||
+ " , NULL bedrijf_key"
|
||||
+ " , -1 kostenplaats_key"
|
||||
+ " FROM bgt_disc_params d"
|
||||
+ " , bgt_project p"
|
||||
+ " , bgt_kostenrubriek r"
|
||||
@@ -188,6 +195,10 @@ switch (req_info)
|
||||
+ " , NULL soort_key"
|
||||
+ " , NULL opdracht_key"
|
||||
+ " , NULL bedrijf_key"
|
||||
+ ( (init_key == -1 && child_key)
|
||||
? " , (SELECT prs_kostenplaats_key FROM prs_kostensoort WHERE prs_kostensoort_key = "+ child_key +")"
|
||||
: " , -1"
|
||||
) + " kostenplaats_key"
|
||||
+ " FROM bgt_disc_params d"
|
||||
+ " , bgt_project p"
|
||||
+ " , prs_kostenplaatsgrp g"
|
||||
@@ -210,7 +221,8 @@ switch (req_info)
|
||||
"G": oRs("groep_key").Value,
|
||||
"S": oRs("soort_key").Value,
|
||||
"O": oRs("opdracht_key").Value,
|
||||
"B": oRs("bedrijf_key").Value
|
||||
"B": oRs("bedrijf_key").Value,
|
||||
"K": oRs("kostenplaats_key").Value
|
||||
}
|
||||
}
|
||||
oRs.Close();
|
||||
@@ -227,7 +239,9 @@ switch (req_info)
|
||||
+ " , p.bgt_disc_params_code ||' - '||d.ins_discipline_omschrijving sel_oms"
|
||||
+ " , d.ins_discipline_btw btw_inc"
|
||||
+ " , NULL btw_val"
|
||||
+ " , NULL grp_key"
|
||||
+ " , NULL srt_key"
|
||||
+ " , NULL kpn_key"
|
||||
+ " FROM ins_tab_discipline d"
|
||||
+ " , bgt_disc_params p"
|
||||
+ " WHERE p.bgt_ins_discipline_key = d.ins_discipline_key"
|
||||
@@ -249,7 +263,9 @@ switch (req_info)
|
||||
+ " WHERE d1.ins_discipline_key = p.ins_discipline_key"
|
||||
+ ") btw_inc"
|
||||
+ " , NULL btw_val"
|
||||
+ " , NULL grp_key"
|
||||
+ " , NULL srt_key"
|
||||
+ " , NULL kpn_key"
|
||||
+ " FROM bgt_project p"
|
||||
+ " WHERE p.bgt_project_verwijder IS NULL"
|
||||
+ " AND p.ins_discipline_key = " + parent_key;
|
||||
@@ -266,7 +282,9 @@ switch (req_info)
|
||||
+ " AND p1.bgt_project_key = r.bgt_project_key"
|
||||
+ ") btw_inc"
|
||||
+ " , NULL btw_val"
|
||||
+ " , NULL grp_key"
|
||||
+ " , NULL srt_key"
|
||||
+ " , NULL kpn_key"
|
||||
+ " FROM bgt_kostenrubriek r"
|
||||
+ " WHERE r.bgt_project_key = " + parent_key;
|
||||
break;
|
||||
@@ -284,7 +302,9 @@ switch (req_info)
|
||||
+ " AND r1.bgt_kostenrubriek_key = g.bgt_kostenrubriek_key"
|
||||
+ ") btw_inc"
|
||||
+ " , NULL btw_val"
|
||||
+ " , NULL grp_key"
|
||||
+ " , NULL srt_key"
|
||||
+ " , NULL kpn_key"
|
||||
+ " FROM prs_kostensoortgrp g"
|
||||
+ " WHERE g.bgt_kostenrubriek_key = " + parent_key;
|
||||
break;
|
||||
@@ -298,7 +318,9 @@ switch (req_info)
|
||||
+ " FROM fin_btwtabelwaarde f1"
|
||||
+ " WHERE f1.fin_btwtabelwaarde_key = s.fin_btwtabelwaarde_key"
|
||||
+ ") btw_val"
|
||||
+ " , NULL grp_key"
|
||||
+ " , NULL srt_key"
|
||||
+ " , NVL(prs_kostenplaats_key, -1) kpn_key"
|
||||
+ " FROM prs_kostensoort s"
|
||||
+ " WHERE s.prs_kostensoortgrp_key = " + parent_key
|
||||
+ ( sel_mode == "budget_edit"
|
||||
@@ -313,7 +335,9 @@ switch (req_info)
|
||||
+ " , kp.prs_kostenplaats_nr ||' - '|| kp.prs_kostenplaats_omschrijving sel_oms"
|
||||
+ " , NULL btw_inc"
|
||||
+ " , NULL btw_val"
|
||||
+ " , NULL grp_key"
|
||||
+ " , NULL srt_key"
|
||||
+ " , NULL kpn_key"
|
||||
+ " FROM prs_kostenplaats kp"
|
||||
+ " , prs_kostenplaatsgrp kg"
|
||||
+ " WHERE kp.prs_kostenplaatsgrp_key = kg.prs_kostenplaatsgrp_key"
|
||||
@@ -327,7 +351,9 @@ switch (req_info)
|
||||
+ " , b.prs_leverancier_nr ||' - '|| b.prs_bedrijf_naam sel_oms"
|
||||
+ " , NULL btw_inc"
|
||||
+ " , NULL btw_val"
|
||||
+ " , NULL grp_key"
|
||||
+ " , NULL srt_key"
|
||||
+ " , NULL kpn_key"
|
||||
+ " FROM bgt_project p"
|
||||
+ " , bgt_kostenrubriek r"
|
||||
+ " , prs_kostensoortgrp g"
|
||||
@@ -339,8 +365,8 @@ switch (req_info)
|
||||
+ " AND g.prs_kostensoortgrp_key = s.prs_kostensoortgrp_key"
|
||||
+ " AND s.prs_kostensoort_key = o.prs_kostensoort_key"
|
||||
+ " AND o.mld_uitvoerende_keys = b.prs_bedrijf_key"
|
||||
+ " AND p.ins_discipline_key = " + parent_key
|
||||
+ (child_key > 0 ? " AND p.bgt_project_key = " + child_key : "");
|
||||
+ (parent_key > 0 ? " AND p.ins_discipline_key = " + parent_key : "")
|
||||
+ (child_key > 0 ? " AND p.bgt_project_key = " + child_key : "");
|
||||
break;
|
||||
}
|
||||
case "O":
|
||||
@@ -353,7 +379,9 @@ switch (req_info)
|
||||
+ " FROM fin_btwtabelwaarde f1"
|
||||
+ " WHERE f1.fin_btwtabelwaarde_key = s.fin_btwtabelwaarde_key"
|
||||
+ ") btw_val"
|
||||
+ " , s.prs_kostensoortgrp_key grp_key"
|
||||
+ " , o.prs_kostensoort_key srt_key"
|
||||
+ " , NULL kpn_key"
|
||||
+ " FROM bgt_project p"
|
||||
+ " , bgt_kostenrubriek r"
|
||||
+ " , prs_kostensoortgrp g"
|
||||
@@ -378,7 +406,9 @@ switch (req_info)
|
||||
sel: oRs("sel_key").Value == init_key,
|
||||
atr: { btw_inc: oRs("btw_inc").Value,
|
||||
btw_val: oRs("btw_val").Value,
|
||||
srt_key: oRs("srt_key").Value
|
||||
grp_key: oRs("grp_key").Value,
|
||||
srt_key: oRs("srt_key").Value,
|
||||
kpn_key: oRs("kpn_key").Value
|
||||
}
|
||||
});
|
||||
oRs.MoveNext();
|
||||
@@ -412,26 +442,37 @@ switch (req_info)
|
||||
+ " , kp.prs_kostenplaatsgrp_key par_key"
|
||||
+ " , NULL btw_inc"
|
||||
+ " , NULL btw_val"
|
||||
+ " , p.prs_kostenplaats_key"
|
||||
+ " , NULL kpn_key"
|
||||
+ " , ks.prs_kostensoort_key"
|
||||
+ " FROM prs_kostenplaats kp"
|
||||
+ " , prs_kostenplaatsgrp kg"
|
||||
+ " , bgt_project p"
|
||||
+ " , prs_kostensoort ks"
|
||||
+ " WHERE kp.prs_kostenplaatsgrp_key = kg.prs_kostenplaatsgrp_key"
|
||||
+ " AND kg.bgt_project_key = p.bgt_project_key"
|
||||
+ " AND kp.prs_kostenplaats_key = ks.prs_kostenplaats_key(+)"
|
||||
+ " AND kp.prs_kostenplaats_verwijder IS NULL"
|
||||
+ " AND kg.bgt_project_key = " + parent_key;
|
||||
}
|
||||
}
|
||||
sql += " ORDER BY 2";
|
||||
var new_lov = [];
|
||||
var last_lov = "";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
while(!oRs.eof)
|
||||
{
|
||||
new_lov.push({key: oRs("sel_key").Value,
|
||||
oms: oRs("sel_oms").Value,
|
||||
sel: oRs("sel_key").Value == (init_key == -1 ? oRs("prs_kostenplaats_key").Value : init_key),
|
||||
atr: { par_key: oRs("par_key").Value}
|
||||
});
|
||||
if (last_lov != oRs("sel_oms").Value)
|
||||
{
|
||||
new_lov.push({key: oRs("sel_key").Value,
|
||||
oms: oRs("sel_oms").Value,
|
||||
sel: oRs("sel_key").Value == (init_key == -1 ? oRs("prs_kostensoort_key").Value : init_key),
|
||||
atr: { par_key: oRs("par_key").Value}
|
||||
});
|
||||
last_lov = oRs("sel_oms").Value;
|
||||
}
|
||||
else
|
||||
{
|
||||
var opt = new_lov[new_lov.length-1];
|
||||
opt.sel = opt.sel || (oRs("sel_key").Value == (init_key == -1 ? oRs("prs_kostensoort_key").Value : init_key));
|
||||
}
|
||||
oRs.MoveNext();
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
@@ -10,9 +10,9 @@
|
||||
model.search = { autosearch : true }; // Zijn nooit echt veel records
|
||||
|
||||
var scf_params = { search: { filters: [ "user" ] },
|
||||
list: { columns: [ "user", "data", "creation", "expire", "ip", "useragent"],
|
||||
list: { columns: [ "user", "data", "created", "expire", "ip", "useragent"],
|
||||
orderby: [
|
||||
"creation"
|
||||
"created"
|
||||
] }}
|
||||
scaffolding(model, scf_params);
|
||||
%>
|
||||
|
||||
@@ -54,7 +54,7 @@ var filter = { s: { val: getQParam("s",""), lcl: L("lcl_search
|
||||
//if (filter.s.val.indexOf(':') == 1) // of: format is A99999 (Jos?)
|
||||
if (filter.s.val.match(/^[mcMC][a-z,A-Z]*[0-9]+/)) // Meldingen en contracten kunnen extra letters hebben
|
||||
Server.Transfer("itemsearch.asp"); // die doet dat maar
|
||||
if (filter.s.val.match(/^[braBRA]*[0-9]+/)) // BES, RES en Afspraak alleen numeriek
|
||||
if (filter.s.val.match(/^[braBRA][0-9]+/)) // BES, RES en Afspraak alleen numeriek
|
||||
Server.Transfer("itemsearch.asp");
|
||||
if (filter.s.val.match(/^#+/)) // objecten
|
||||
Server.Transfer("itemsearch.asp");
|
||||
|
||||
201
APPL/INS/ins.inc
@@ -541,7 +541,8 @@ ins = {checkAutLevel:
|
||||
iresult.writeslebof = writeslebof;
|
||||
iresult.writeslefof = writeslefof;
|
||||
iresult.canDelete = writeslebof; // Verwijderen
|
||||
iresult.canChange = writeslebof || objectbeheerder; // Wijzigen
|
||||
iresult.canChange = writeslebof; // Wijzigen
|
||||
iresult.canChangeOwn = objectbeheerder;
|
||||
iresult.canChangeAlg = iresult.canChange; // Wijzigen algemene gegevens
|
||||
iresult.canCopy = writeslebof; // Kopi<70>ren
|
||||
iresult.isSleCil = true;
|
||||
@@ -557,7 +558,7 @@ ins = {checkAutLevel:
|
||||
// Daarom niet al te hard er uit klappen hier.
|
||||
iresult.canReadAny = true;
|
||||
iresult.canChange = iresult.canChange;
|
||||
iresult.canChangeOwn = iresult.canChange || ((iresult.readuse || iresult.readman) && objectbeheerder);
|
||||
iresult.canChangeOwn = (iresult.readuse || iresult.readman) && objectbeheerder;
|
||||
|
||||
if (params && params.srtcont_key > 0)
|
||||
{
|
||||
@@ -2274,7 +2275,11 @@ ins = {checkAutLevel:
|
||||
var mjbMoved = params.mjbMoved;
|
||||
var mjbFreezed = params.mjbFreezed;
|
||||
var mjbXcped = params.mjbXcped;
|
||||
var sel_controlemode123 = params.sel_controlemode123;
|
||||
var jaren = params.jaren;
|
||||
var freeze = params.freeze;
|
||||
var finish = params.finish;
|
||||
var getsumtypes = params.getsumtypes;
|
||||
|
||||
// De datum (jaar) van de *eerstvolgende* onderhoudsbeurt volgt uit:
|
||||
// Datum laatste (/laatste geplande) inspectie
|
||||
@@ -2772,7 +2777,7 @@ ins = {checkAutLevel:
|
||||
+ " , cy.ins_deelsrtcontrole_status"
|
||||
+ " , cy.hascontroles"
|
||||
+ " FROM (" + sql_yearcost + ") cy"
|
||||
+ " , ins_v_aanwezigdeel dl"
|
||||
+ " , ins_deel dl" // I.v.m. ORA-03113 fout: ins_v_aanwezigdeel vervangen door ins_deel en verder uitgeschreven (FSN#51212).
|
||||
+ " , ins_srtdeel isd"
|
||||
+ " , ins_srtgroep isg"
|
||||
+ " , ins_discipline dd"
|
||||
@@ -2782,6 +2787,8 @@ ins = {checkAutLevel:
|
||||
+ " , alg_verdieping v"
|
||||
+ " , alg_ruimte r"
|
||||
+ " WHERE cy.ins_deel_key = dl.ins_deel_key"
|
||||
+ " AND dl.ins_deel_verwijder IS NULL"
|
||||
+ " AND dl.ins_deel_parent_key IS NULL"
|
||||
+ " AND dl.ins_srtdeel_key = isd.ins_srtdeel_key"
|
||||
+ " AND isd.ins_srtgroep_key = isg.ins_srtgroep_key"
|
||||
+ " AND isg.ins_discipline_key = dd.ins_discipline_key"
|
||||
@@ -2791,7 +2798,7 @@ ins = {checkAutLevel:
|
||||
+ " AND g.alg_locatie_key = l.alg_locatie_key"
|
||||
+ " AND d.alg_district_key = l.alg_district_key";
|
||||
|
||||
if (keys != null && keys.length > 0 && niveau != null && niveau > 0)
|
||||
if (keys != null && keys.length > 0 && niveau != null && niveau > 0 && (freeze || finish))
|
||||
{
|
||||
switch (niveau)
|
||||
{
|
||||
@@ -2983,6 +2990,192 @@ ins = {checkAutLevel:
|
||||
sql += "," + String(i)
|
||||
}
|
||||
|
||||
// Bulkactie accorderen (freeze) of voltooien/afronden (finish).
|
||||
// Ik moet nog de juiste insert waarden ophalen voor alle objecten die de sql oplevert.
|
||||
if (niveau >= 1 && niveau <= 6 && (freeze || finish))
|
||||
{ // Accorderen (Freeze) of Voltooien/Afronden (Finish).
|
||||
if (freeze)
|
||||
{
|
||||
var mjblist_sql_select = "SELECT xcp.ins_deel_key"
|
||||
+ " , xcp.ins_srtcontrole_key"
|
||||
+ " , CASE"
|
||||
+ " WHEN result.ins_deelsrtcontrole_status IS NOT NULL"
|
||||
+ " THEN (SELECT ins.nextcyclusdate (xcp.ins_deel_key, xcp.ins_srtcontrole_key, 1, 1) FROM DUAL)"
|
||||
+ " ELSE NULL"
|
||||
+ " END nextdate"
|
||||
+ " , result.ins_deelsrtcontrole_status"
|
||||
+ " , result.\"" + mjb_freeze_year + "\" freeze_bedrag"
|
||||
+ " , CASE"
|
||||
+ " WHEN result.\"" + mjb_freeze_year + "\" = 0 AND result.\"" + mjb_freeze_year + "_ORGBEDRAG\" IS NOT NULL AND result.\"" + mjb_freeze_year + "_ORGBEDRAG\" > 0"
|
||||
+ " THEN " + safe.quoted_sql(L("lcl_mjb_performed_high"))
|
||||
+ " ELSE ''"
|
||||
+ " END opm_has_higherprio"; // Opmerking als het een hogere prio heeft (has_higherprio)
|
||||
}
|
||||
else // finish
|
||||
{
|
||||
if (getsumtypes)
|
||||
{
|
||||
var mjblist_sql_select = "SELECT SUM(CASE"
|
||||
+ " WHEN xcp.ctr_controle_type = 1"
|
||||
+ " THEN 1"
|
||||
+ " ELSE 0"
|
||||
+ " END) sumtype1"
|
||||
+ " , SUM(CASE"
|
||||
+ " WHEN xcp.ctr_controle_type = 2"
|
||||
+ " THEN 1"
|
||||
+ " ELSE 0"
|
||||
+ " END) sumtype2"
|
||||
+ " , SUM(CASE"
|
||||
+ " WHEN xcp.ctr_controle_type = 3"
|
||||
+ " THEN 1"
|
||||
+ " ELSE 0"
|
||||
+ " END) sumtype3";
|
||||
}
|
||||
else
|
||||
{
|
||||
var mjblist_sql_select = "SELECT xcp.ins_deel_key"
|
||||
+ " , xcp.ins_srtcontrole_key"
|
||||
+ " , result.ctr_controle_type"
|
||||
+ " , CASE"
|
||||
+ " WHEN (SELECT MAX(idsc2.ins_deelsrtcontrole_key)"
|
||||
+ " FROM ins_deelsrtcontrole idsc2"
|
||||
+ " WHERE idsc2.ins_deel_key = xcp.ins_deel_key"
|
||||
+ " AND idsc2.ins_srtcontrole_key = xcp.ins_srtcontrole_key"
|
||||
+ " AND idsc2.ins_scenario_key = xcp.ins_scenario_key"
|
||||
+ " AND idsc2.ins_deelsrtcontrole_status = 6) IS NOT NULL" // Er is al een inspectie geweest.
|
||||
+ " THEN (SELECT ins.nextcyclusdate (xcp.ins_deel_key, xcp.ins_srtcontrole_key, 1, 1) FROM DUAL)"
|
||||
+ " ELSE SYSDATE" // Er is nog geen inspectie geweest. De org date wordt nu.
|
||||
+ " END nextdate"
|
||||
+ " , (SELECT MAX(idsc2.ins_deelsrtcontrole_key)"
|
||||
+ " FROM ins_deelsrtcontrole idsc2"
|
||||
+ " WHERE idsc2.ins_deel_key = xcp.ins_deel_key"
|
||||
+ " AND idsc2.ins_srtcontrole_key = xcp.ins_srtcontrole_key"
|
||||
+ " AND idsc2.ins_scenario_key = xcp.ins_scenario_key) ins_deelsrtcontrole_key"
|
||||
+ " , (SELECT cm.ins_controlemode_oms"
|
||||
+ " FROM ins_controlemode cm"
|
||||
+ " WHERE cm.ins_controlemode_key IN (" + sel_controlemode123.join(",") + ")"
|
||||
+ " AND cm.ins_srtcontrole_type = result.ctr_controle_type) cm_oms"
|
||||
+ " , (SELECT cd.ins_discipline_omschrijving"
|
||||
+ " FROM ctr_discipline cd"
|
||||
+ " WHERE cd.ins_discipline_key = xcp.ctr_discipline_key) ctr_disc_oms"
|
||||
+ " , (SELECT idsc2.ins_deelsrtcontrole_opmerking"
|
||||
+ " FROM ins_deelsrtcontrole idsc2"
|
||||
+ " WHERE ins_deelsrtcontrole_key = (SELECT MAX(idsc2.ins_deelsrtcontrole_key)"
|
||||
+ " FROM ins_deelsrtcontrole idsc2"
|
||||
+ " WHERE idsc2.ins_deel_key = xcp.ins_deel_key"
|
||||
+ " AND idsc2.ins_srtcontrole_key = xcp.ins_srtcontrole_key"
|
||||
+ " AND idsc2.ins_scenario_key = xcp.ins_scenario_key)) ins_deelsrtcontrole_opmerking";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
var mjblist_sql = mjblist_sql_select
|
||||
+ " FROM ins_v_defined_inspect_xcp xcp"
|
||||
+ " , ins_deel dl" // I.v.m. ORA-03113 fout: ins_v_aanwezigdeel vervangen door ins_deel en verder uitgeschreven (FSN#51212).
|
||||
+ " , ins_srtdeel isd"
|
||||
+ " , ins_srtgroep isg"
|
||||
+ " , ins_discipline dd"
|
||||
+ " , alg_district d"
|
||||
+ " , alg_locatie l"
|
||||
+ " , alg_gebouw g"
|
||||
+ " , alg_verdieping v"
|
||||
+ " , alg_ruimte r"
|
||||
+ " , (" + sql + ") result"
|
||||
+ " WHERE xcp.ins_deel_key = dl.ins_deel_key"
|
||||
+ " AND dl.ins_deel_verwijder IS NULL"
|
||||
+ " AND dl.ins_deel_parent_key IS NULL"
|
||||
+ " AND dl.ins_srtdeel_key = isd.ins_srtdeel_key"
|
||||
+ " AND isd.ins_srtgroep_key = isg.ins_srtgroep_key"
|
||||
+ " AND isg.ins_discipline_key = dd.ins_discipline_key"
|
||||
+ " AND dl.ins_alg_ruimte_key = r.alg_ruimte_key"
|
||||
+ " AND r.alg_verdieping_key = v.alg_verdieping_key"
|
||||
+ " AND v.alg_gebouw_key = g.alg_gebouw_key"
|
||||
+ " AND g.alg_locatie_key = l.alg_locatie_key"
|
||||
+ " AND d.alg_district_key = l.alg_district_key"
|
||||
+ " AND xcp.ins_deel_key = result.ins_deel_key"
|
||||
+ " AND xcp.ins_srtcontrole_key = result.ins_srtcontrole_key"
|
||||
// Inspectie mag niet op dezelfde dag plaatsvinden
|
||||
// Als er nog geen inspectie is geweest neem dan gisteren (sysdate - 1).
|
||||
+ " AND COALESCE((SELECT TRUNC(idsc2.ins_deelsrtcontrole_datum)"
|
||||
+ " FROM ins_deelsrtcontrole idsc2"
|
||||
+ " WHERE ins_deelsrtcontrole_key = (SELECT MAX(idsc2.ins_deelsrtcontrole_key)"
|
||||
+ " FROM ins_deelsrtcontrole idsc2"
|
||||
+ " WHERE idsc2.ins_deel_key = xcp.ins_deel_key"
|
||||
+ " AND idsc2.ins_srtcontrole_key = xcp.ins_srtcontrole_key"
|
||||
+ " AND idsc2.ins_scenario_key = xcp.ins_scenario_key"
|
||||
+ " AND idsc2.ins_deelsrtcontrole_status = 6)), (TRUNC(SYSDATE-1))) != TRUNC(SYSDATE)"
|
||||
// Autorisatie controleren i.p.v. canInspStartReq (Accorderen (Freeze)) en canInspFinishReq (Voltooien/Afronden (Finish)):
|
||||
// 0) invoerAfterNext is voor mjob (interval modus) altijd waar.
|
||||
// 1) Alleen voor Accorderen (Freeze): niet vervallen.
|
||||
// 2) Freeze: status <= 0 of status == 6
|
||||
// Finish: status == 2
|
||||
// 3) actief object
|
||||
// 4) hasCTRwrite
|
||||
// 5) Freeze: bij instelling "Actieve acties" het vinkje "Starten" aangevinkt.
|
||||
// Finish: bij instelling "Actieve acties" het vinkje "Afronden" aangevinkt.
|
||||
// 6) geen scenario (scenario_key is 1)
|
||||
// 7) ismjob
|
||||
// 8) isFreezeYear
|
||||
// 9) readuse rechten.
|
||||
+ (freeze
|
||||
? " AND (xcp.ins_srtcontroledl_xcp_eind IS NULL OR xcp.ins_srtcontroledl_xcp_eind >= SYSDATE)" // 1) Freeze: Niet vervallen.
|
||||
: "") // Finish: Maakt niet uit.
|
||||
+ (freeze
|
||||
? " AND (EXISTS" // 2) Freeze: Geen controles of laatste controle status 0 of 6.
|
||||
+ " (SELECT idsc1.ins_deelsrtcontrole_status"
|
||||
+ " FROM ins_deelsrtcontrole idsc1"
|
||||
+ " WHERE idsc1.ins_deelsrtcontrole_key = (SELECT MAX(idsc2.ins_deelsrtcontrole_key)"
|
||||
+ " FROM ins_deelsrtcontrole idsc2"
|
||||
+ " WHERE idsc2.ins_deel_key = xcp.ins_deel_key"
|
||||
+ " AND idsc2.ins_srtcontrole_key = xcp.ins_srtcontrole_key"
|
||||
+ " AND idsc2.ins_scenario_key = xcp.ins_scenario_key)"
|
||||
+ " AND idsc1.ins_deelsrtcontrole_status IN (0, 6))"
|
||||
+ " OR NOT EXISTS"
|
||||
+ " (SELECT idsc2.ins_deelsrtcontrole_key"
|
||||
+ " FROM ins_deelsrtcontrole idsc2"
|
||||
+ " WHERE idsc2.ins_deel_key = xcp.ins_deel_key"
|
||||
+ " AND idsc2.ins_srtcontrole_key = xcp.ins_srtcontrole_key"
|
||||
+ " AND idsc2.ins_scenario_key = xcp.ins_scenario_key))"
|
||||
: " AND EXISTS" // Finish: Laatste controle status 2.
|
||||
+ " (SELECT idsc1.ins_deelsrtcontrole_status"
|
||||
+ " FROM ins_deelsrtcontrole idsc1"
|
||||
+ " WHERE idsc1.ins_deelsrtcontrole_key = (SELECT MAX(idsc2.ins_deelsrtcontrole_key)"
|
||||
+ " FROM ins_deelsrtcontrole idsc2"
|
||||
+ " WHERE idsc2.ins_deel_key = xcp.ins_deel_key"
|
||||
+ " AND idsc2.ins_srtcontrole_key = xcp.ins_srtcontrole_key"
|
||||
+ " AND idsc2.ins_scenario_key = xcp.ins_scenario_key)"
|
||||
+ " AND idsc1.ins_deelsrtcontrole_status IN (2))")
|
||||
+ " AND ins_deel_actief = 1" // 3) Actief object.
|
||||
+ " AND xcp.ctr_discipline_key IN (SELECT w.ins_discipline_key" // 4) hasCTRwrite.
|
||||
+ " FROM fac_v_webgebruiker w"
|
||||
+ " , fac_functie f"
|
||||
+ " WHERE w.fac_functie_key = f.fac_functie_key"
|
||||
+ " AND f.fac_functie_code = 'WEB_CTRUSE'"
|
||||
+ " AND w.fac_gebruiker_prs_level_write < 9"
|
||||
+ " AND w.fac_gebruiker_alg_level_write < 9"
|
||||
+ " AND w.prs_perslid_key = " + user_key + ")"
|
||||
+ (freeze
|
||||
? " AND BITAND(xcp.ins_srtcontrole_options, 2) = 2" // 5) Freeze: Het vinkje "Starten" aangevinkt.
|
||||
: " AND BITAND(xcp.ins_srtcontrole_options, 8) = 8") // Finish: Het vinkje "Afronden" aangevinkt.
|
||||
+ " AND xcp.ins_scenario_key = 1" // 6) Geen scenario.
|
||||
+ " AND xcp.ctr_ismjob = 1" // 7) ismjob.
|
||||
+ " AND result.\"" + mjb_freeze_year + "\" IS NOT NULL"; // 8) isFreezeYear, bedrag in mjb_freeze_year is niet NULL.
|
||||
|
||||
sql = discxalg3d(mjblist_sql, // 9) 3D-readuse rechten.
|
||||
"dd.ins_discipline_key",
|
||||
"d.alg_regio_key",
|
||||
"d.alg_district_key",
|
||||
"l.alg_locatie_key",
|
||||
"g.alg_gebouw_key",
|
||||
"v.alg_verdieping_key",
|
||||
"r.alg_ruimte_key",
|
||||
"WEB_INSUSE", //autfunction,
|
||||
"",
|
||||
false); // forwrite => read
|
||||
|
||||
sql += " ORDER BY xcp.ins_deel_key"
|
||||
+ " , xcp.ins_srtcontrole_key";
|
||||
}
|
||||
return sql;
|
||||
},
|
||||
|
||||
|
||||
@@ -642,7 +642,7 @@ var ins_deel_aantal = 1;
|
||||
extraParamField: "autonum",
|
||||
extracode: "A",
|
||||
onChange: "onChangeDiscipline", // disgroepChanged
|
||||
readonly: (disc_key > 0 || ins_key > 0 || copy) || (!this_ins.canChangeAlg && !this_ins.canChangeOwn),
|
||||
readonly: (disc_key > 0 || ins_key > 0 || copy) || (!this_ins.canChangeAlg && !(this_ins.canChange || this_ins.canChangeOwn)),
|
||||
required: true
|
||||
});
|
||||
|
||||
@@ -653,7 +653,7 @@ var ins_deel_aantal = 1;
|
||||
autfunction: autfunction,
|
||||
onChange: "onChangeSrtgroep",
|
||||
urlAdd: [{urlParam: "disc_key", field: "disc"}],
|
||||
readonly: (ins_key > 0 || copy || module == "SLE") || (!this_ins.canChangeAlg && !this_ins.canChangeOwn),
|
||||
readonly: (ins_key > 0 || copy || module == "SLE") || (!this_ins.canChangeAlg && !(this_ins.canChange || this_ins.canChangeOwn)),
|
||||
required: true
|
||||
});
|
||||
|
||||
@@ -669,7 +669,7 @@ var ins_deel_aantal = 1;
|
||||
extraParamField: "binding",
|
||||
extracode: "B",
|
||||
module: module,
|
||||
readonly: (ins_key > 0 || copy || module == "SLE") || (!this_ins.canChangeAlg && !this_ins.canChangeOwn),
|
||||
readonly: (ins_key > 0 || copy || module == "SLE") || (!this_ins.canChangeAlg && !(this_ins.canChange || this_ins.canChangeOwn)),
|
||||
required: true
|
||||
});
|
||||
|
||||
@@ -697,15 +697,15 @@ var ins_deel_aantal = 1;
|
||||
(ins_key > 0 || copy) && isNext < 0? desc : new_desc,
|
||||
{ maxlength: 60,
|
||||
required: true,
|
||||
readonly: (!this_ins.canChangeAlg && !this_ins.canChangeOwn) || !(autonum & 2)
|
||||
readonly: (!this_ins.canChangeAlg && !(this_ins.canChange || this_ins.canChangeOwn)) || !(autonum & 2)
|
||||
});
|
||||
if (S("ins_explode_objects") == 0)
|
||||
RWFIELDTR("count", "fldshort", L("lcl_amount") + (srtdeel_eenheid ? " (" + srtdeel_eenheid+")" : ""), ins_deel_aantal, {datatype: "float", readonly: (!this_ins.canChangeAlg && !this_ins.canChangeOwn), required: true});
|
||||
RWFIELDTR("count", "fldshort", L("lcl_amount") + (srtdeel_eenheid ? " (" + srtdeel_eenheid+")" : ""), ins_deel_aantal, {datatype: "float", readonly: (!this_ins.canChangeAlg && !(this_ins.canChange || this_ins.canChangeOwn)), required: true});
|
||||
else if(ins_key < 0 || isNext > 0 )
|
||||
{
|
||||
RWFIELDTR("count", "fldshort", L("lcl_count"), 1, {datatype: "number", readonly: (!this_ins.canChangeAlg && !this_ins.canChangeOwn)});
|
||||
RWFIELDTR("count", "fldshort", L("lcl_count"), 1, {datatype: "number", readonly: (!this_ins.canChangeAlg && !(this_ins.canChange || this_ins.canChangeOwn))});
|
||||
}
|
||||
RWFIELDTR("opmerk", "fld", L("lcl_ins_opmerking"), opmerk, {maxlength: 320, readonly: (!this_ins.canChangeAlg && !this_ins.canChangeOwn)}); %>
|
||||
RWFIELDTR("opmerk", "fld", L("lcl_ins_opmerking"), opmerk, {maxlength: 320, readonly: (!this_ins.canChangeAlg && !(this_ins.canChange || this_ins.canChangeOwn))}); %>
|
||||
</table>
|
||||
</td>
|
||||
<td align="center">
|
||||
@@ -745,17 +745,17 @@ var ins_deel_aantal = 1;
|
||||
{ datum: aanmaak,
|
||||
label: L("lcl_last_action"),
|
||||
required: true,
|
||||
readonly: (!this_ins.canChangeAlg && !this_ins.canChangeOwn),
|
||||
readonly: (!this_ins.canChangeAlg && !(this_ins.canChange || this_ins.canChangeOwn)),
|
||||
volgnr: 1
|
||||
});
|
||||
FCLTcalendar("vervaldatum",
|
||||
{ datum: vervaldatum,
|
||||
initEmpty: vervaldatum==null,
|
||||
label: L("lcl_ins_vervaldatum"),
|
||||
readonly: (!this_ins.canChangeAlg && !this_ins.canChangeOwn),
|
||||
readonly: (!this_ins.canChangeAlg && !(this_ins.canChange || this_ins.canChangeOwn)),
|
||||
volgnr: 2
|
||||
});
|
||||
RWCHECKBOXTR("ins_actief", "fldcheck", L("lcl_ins_active"), actief, {readonly: (!this_ins.canChangeAlg && !this_ins.canChangeOwn)});
|
||||
RWCHECKBOXTR("ins_actief", "fldcheck", L("lcl_ins_active"), actief, {readonly: (!this_ins.canChangeAlg && !(this_ins.canChange || this_ins.canChangeOwn))});
|
||||
FCLTpersoonselector("ins_manager", // beheerder
|
||||
"sgins_manager",
|
||||
{ perslidKey: perslid_key_beh,
|
||||
@@ -794,7 +794,7 @@ var ins_deel_aantal = 1;
|
||||
label: L("lcl_prs_organisatie"),
|
||||
autlevel: authparams.PRSwritelevel,
|
||||
onChange: "onChangeDept",
|
||||
readonly: (parent_key > 0 || isLendOut) || (!this_ins.canChangeAlg && !this_ins.canChangeOwn)
|
||||
readonly: (parent_key > 0 || isLendOut) || (!this_ins.canChangeAlg && !(this_ins.canChange || this_ins.canChangeOwn))
|
||||
});
|
||||
}
|
||||
|
||||
@@ -806,7 +806,7 @@ var ins_deel_aantal = 1;
|
||||
label: L("lcl_name"),
|
||||
autlevel: authparams.PRSwritelevel,
|
||||
onChange: "onChangePerson",
|
||||
readonly: (parent_key > 0 || isLendOut) || (!this_ins.canChangeAlg && !this_ins.canChangeOwn)
|
||||
readonly: (parent_key > 0 || isLendOut) || (!this_ins.canChangeAlg && !(this_ins.canChange || this_ins.canChangeOwn))
|
||||
});
|
||||
}
|
||||
|
||||
@@ -864,7 +864,7 @@ var ins_deel_aantal = 1;
|
||||
cadSelect: true,
|
||||
cadShowdiscfn: "cadShowdiscfn",
|
||||
escalateOnChUp: true, // ook onLocChange als je gebouw wijzigt
|
||||
readonly: (parent_key > 0 || isLendOut) || (!this_ins.canChangeAlg && !this_ins.canChangeOwn)
|
||||
readonly: (parent_key > 0 || isLendOut) || (!this_ins.canChangeAlg && !(this_ins.canChange || this_ins.canChangeOwn))
|
||||
});
|
||||
}
|
||||
BLOCK_END();
|
||||
@@ -878,13 +878,13 @@ var ins_deel_aantal = 1;
|
||||
sql: sql,
|
||||
params: { id: "dayshours",
|
||||
initKey: uitvoertijd_eenheid,
|
||||
readonly: (!this_ins.canChangeAlg && !this_ins.canChangeOwn) && uitvoertijd < 0,
|
||||
readonly: (!this_ins.canChangeAlg && !(this_ins.canChange || this_ins.canChangeOwn)) && uitvoertijd < 0,
|
||||
disable: !uitvoertijd
|
||||
}
|
||||
}
|
||||
RWFIELDTR("uitvoertijd", "fldins_uitvtijd", L("lcl_ins_uitvoertijd"), uitvoertijd? Math.round(uitvoertijd * 100000) / 100000 : ""
|
||||
, {maxlength: 8, datatype: "float", html: "onChange='onChangeUitvoertijd();'", selector: selectparams
|
||||
, readonly: (!this_ins.canChangeAlg && !this_ins.canChangeOwn)});
|
||||
, readonly: (!this_ins.canChangeAlg && !(this_ins.canChange || this_ins.canChangeOwn))});
|
||||
BLOCK_END();
|
||||
|
||||
if (urole != "fo" || uitleen_flex_present) // FO ziet ze alleen als er uitleen flex zijn?
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
<!-- #include file="../Shared/selector.inc" -->
|
||||
<!-- #include file="../Shared/json2.js" -->
|
||||
<!-- #include file="ins_flexkenmerksrtcontrole.inc" -->
|
||||
<!-- #include file="../Shared/discxalg3d.inc" -->
|
||||
<!-- #include file="ins.inc" -->
|
||||
|
||||
<%
|
||||
@@ -37,6 +38,7 @@ var insPlan = getQParamInt("plan", 0) == 1; // Inplannen inspectie.
|
||||
var insClose = getQParamInt("close", 0) == 1; // Afmelden of afronden inspectie.
|
||||
var insEdit = !insPlan && !insClose; // Wijzigen inspectie.
|
||||
var fromfinish = getQParamInt("fromfinish", 0) == 1; // Alleen Voltooien bij bulkactie (multi).
|
||||
var groupby = getQParamInt("groupby", 7);
|
||||
|
||||
if (insEdit && multi)
|
||||
abort_with_warning(L("lcl_ins_allow_multi_edit"));
|
||||
@@ -54,83 +56,165 @@ var ctrdisc_key = -1;
|
||||
var canClose = true;
|
||||
var canFinish = true;
|
||||
var nrCanFinishAfterClose = 0;
|
||||
for (var i = 0; i < ins_key_arr.length; i++)
|
||||
|
||||
var inflatiepct = S("mjb_inflation");
|
||||
var inflatiefactor = 1 + (inflatiepct / 100);
|
||||
var mjb_start_year = S("mjb_start_year");
|
||||
var mjb_freeze_year = S("mjb_freeze_year");
|
||||
|
||||
var transitParam = "";
|
||||
if (groupby < 7)
|
||||
// Bulk closen per categorie.
|
||||
transitParam = buildTransitParam(["close", "ins_keys", "srtcont_keys", "deelsrtcont_keys", "fromfinish",
|
||||
"dist_key", "loc_key", "bld_key", "disc_key", "srtgroep_kye", "srtdeel_key",
|
||||
"groep", "categori_key", "srtcontrole", "frequentie", "incbtw", "groupby",
|
||||
"deel", "mjbMoved", "mjbFreezed", "mjbXcped"]);
|
||||
|
||||
if (groupby < 7)
|
||||
{
|
||||
var this_ins = ins.func_enabled_deel(ins_key_arr[i],
|
||||
{srtcont_key: srtcont_key_arr[i],
|
||||
deelsrtcont_key: (deelsrtcont_arr[i] > 0? deelsrtcont_arr[i] : -1)
|
||||
});
|
||||
canMsuEdit = insEdit && this_ins.canMsuEdit;
|
||||
var dist_key = getQParamInt("dist_key", -1); // District
|
||||
var loc_key = getQParamInt("loc_key", -1); // Locatie
|
||||
var bld_key = getQParamInt("bld_key", -1); // Gebouw
|
||||
var disc_key = getQParamInt("disc_key", -1);
|
||||
var srtgroep_key = getQParamInt("srtgroep_key", -1);
|
||||
var srtdeel_key = getQParamInt("srtdeel_key", -1);
|
||||
var groep = getQParam("groep", ""); // Groep
|
||||
var categorie_key = getQParamInt("categorie_key", -1); // Categorie
|
||||
var srtcontrole = getQParamIntArray("srtcontrole", []); // Taak
|
||||
var frequentie = getQParamIntArray("frequentie", []); // Array met frequenties.
|
||||
var incbtw = getQParamInt("incbtw", 0) == 1; // Lijst inclusief BTW weergeven.
|
||||
var deel = getQParam("deel", ""); // Identieficatie
|
||||
var mjbMoved = getQParamInt("mjbMoved", 0) == 1; // Verschoven.
|
||||
var mjbFreezed = getQParamInt("mjbFreezed", 0) == 1; // In behandeling.
|
||||
var mjbXcped = getQParamInt("mjbXcped", 0) == 1; // Aangepast.
|
||||
|
||||
var sql = "SELECT idsc.ins_deelsrtcontrole_key"
|
||||
+ " , idsc.ins_deelsrtcontrole_status"
|
||||
+ " , xcp.ins_srtcontroledl_xcp_eind vervaldatum"
|
||||
+ " , isc.ctr_discipline_key"
|
||||
+ " , isc.ins_srtcontrole_options options"
|
||||
+ " FROM ins_srtcontrole isc"
|
||||
+ " , ins_deelsrtcontrole idsc"
|
||||
+ " , ins_srtcontroledl_xcp xcp"
|
||||
+ " WHERE isc.ins_srtcontrole_key = idsc.ins_srtcontrole_key(+)" // Er kan nog voor de eerste keer geinspecteerd moeten worden.
|
||||
+ " AND isc.ins_srtcontrole_key = xcp.ins_srtcontrole_key(+)"
|
||||
+ " AND xcp.ins_deel_key(+) = " + ins_key_arr[i]
|
||||
+ " AND idsc.ins_deel_key(+) = " + ins_key_arr[i]
|
||||
+ " AND isc.ins_srtcontrole_key = " + srtcont_key_arr[i]
|
||||
+ (deelsrtcont_arr[i] > 0
|
||||
? " AND idsc.ins_deelsrtcontrole_key = " + deelsrtcont_arr[i]
|
||||
: " AND idsc.ins_deelsrtcontrole_status(+) != 6")
|
||||
+ " AND idsc.ins_scenario_key(+) = 1"
|
||||
+ " AND xcp.ins_scenario_key(+) = 1"
|
||||
+ " ORDER BY ins_deelsrtcontrole_datum DESC";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
ctrdisc_key = oRs("ctr_discipline_key").Value;
|
||||
// Start building the query to fetch all objects satisfying
|
||||
var mjbparams = { scenario: 1,
|
||||
fulldetails: true,
|
||||
toyear: mjb_freeze_year,
|
||||
jaren: [mjb_freeze_year],
|
||||
//actsit: actsit,
|
||||
keys: ins_key_arr,
|
||||
niveau: groupby, // Het niveau (betekenis) van de keys (district(1), gebouw(2), discipline(3), groep(4), objectsoort(5), object(6))
|
||||
dist_key: dist_key,
|
||||
loc_key: loc_key,
|
||||
bld_key: bld_key,
|
||||
disc_key: disc_key,
|
||||
srtgroep_key: srtgroep_key,
|
||||
srtdeel_key: srtdeel_key,
|
||||
groep: groep,
|
||||
categorie_key: categorie_key,
|
||||
srtcontrole: srtcontrole,
|
||||
frequentie: frequentie,
|
||||
incbtw: incbtw,
|
||||
deel: deel,
|
||||
mjbMoved: mjbMoved,
|
||||
mjbFreezed: mjbFreezed,
|
||||
mjbXcped: mjbXcped,
|
||||
groupby: 7, // Ik wil alle objecten opvragen.
|
||||
finish: true,
|
||||
getsumtypes: true
|
||||
};
|
||||
|
||||
// Waarden moeten aanwezig zijn. Mocht dat niet zo zijn dan is er iets fout.
|
||||
// Als de laatste inspectie is afgerond is, wordt er null opgeleverd voor de ins_deelsrtcontrole_key en ins_deelsrtcontrole_status.
|
||||
// Er moet dan een nieuwe inspectie worden ingeland/gestart/afgemeld of afgerond.
|
||||
var ins_deelsrtcontrole_key = oRs("ins_deelsrtcontrole_key").Value != null? oRs("ins_deelsrtcontrole_key").Value : -1;
|
||||
var ins_deelsrtcontrole_status = oRs("ins_deelsrtcontrole_status").Value != null? oRs("ins_deelsrtcontrole_status").Value : -1;
|
||||
var vervaldatum = oRs("vervaldatum").Value != null? new Date(oRs("vervaldatum").Value) : null;
|
||||
var vervallen = vervaldatum != null && vervaldatum < new Date();
|
||||
var isc_options = oRs("options").Value;
|
||||
oRs.Close();
|
||||
var mjblist_sql = ins.getmjblist_sql(mjbparams);
|
||||
// De mjblist_sql bevat nu alle objecten (ins_deel_key) van de aangevinkte regels uit het mjb overzicht en levert voor elk object de waarden voor de insert op.
|
||||
|
||||
// Het is de eerste inspectie of de laatste inspectie moet verwerkt(6) zijn, anders kan de inspectie niet ingepland worden.
|
||||
if (insPlan && !this_ins.canInspPlan) // Inplannen. Inplan scherm n.v.t. voor MJOB.
|
||||
{ // Het is niet de eerste inspectie of de laatste inspectie is niet verwerkt. Overslaan.
|
||||
continue;
|
||||
}
|
||||
var oRs = Oracle.Execute(mjblist_sql);
|
||||
user.anything_todo_or_abort(!oRs.eof); // We klagen niet over enkele wel en enkele niet
|
||||
|
||||
// Kan de inspectie gereed gemeld/afgemeld of afgerond worden?
|
||||
if (insClose)
|
||||
{ // Bij bulkacties (multi) alleen kijken naar de bulkactie die uitgevoerd moet worden.
|
||||
if (insClose && ((multi && ((!fromfinish && !this_ins.canInspClose) || (fromfinish && !(this_ins.canInspFinish || this_ins.canInspFinishMjb)))) ||
|
||||
(!multi && !this_ins.canInspClose && !(this_ins.canInspFinish || this_ins.canInspFinishMjb))))
|
||||
// De inspectie kan niet afgemeld/afgerond worden. Overslaan.
|
||||
var sumtype1 = oRs("sumtype1").Value || 0;
|
||||
var sumtype2 = oRs("sumtype2").Value || 0;
|
||||
var sumtype3 = oRs("sumtype3").Value || 0;
|
||||
tobehandled = sumtype1 + sumtype2 + sumtype3;
|
||||
|
||||
var sumtyp = [];
|
||||
sumtyp[0] = tobehandled;
|
||||
sumtyp[1] = oRs("sumtype1").Value;
|
||||
sumtyp[2] = oRs("sumtype2").Value;
|
||||
sumtyp[3] = oRs("sumtype3").Value;
|
||||
|
||||
ingesloten = ins_key_arr;
|
||||
}
|
||||
else
|
||||
{
|
||||
for (var i = 0; i < ins_key_arr.length; i++)
|
||||
{
|
||||
var this_ins = ins.func_enabled_deel(ins_key_arr[i],
|
||||
{srtcont_key: srtcont_key_arr[i],
|
||||
deelsrtcont_key: (deelsrtcont_arr[i] > 0? deelsrtcont_arr[i] : -1)
|
||||
});
|
||||
canMsuEdit = insEdit && this_ins.canMsuEdit;
|
||||
|
||||
var sql = "SELECT idsc.ins_deelsrtcontrole_key"
|
||||
+ " , idsc.ins_deelsrtcontrole_status"
|
||||
+ " , xcp.ins_srtcontroledl_xcp_eind vervaldatum"
|
||||
+ " , isc.ctr_discipline_key"
|
||||
+ " , isc.ins_srtcontrole_options options"
|
||||
+ " FROM ins_srtcontrole isc"
|
||||
+ " , ins_deelsrtcontrole idsc"
|
||||
+ " , ins_srtcontroledl_xcp xcp"
|
||||
+ " WHERE isc.ins_srtcontrole_key = idsc.ins_srtcontrole_key(+)" // Er kan nog voor de eerste keer geinspecteerd moeten worden.
|
||||
+ " AND isc.ins_srtcontrole_key = xcp.ins_srtcontrole_key(+)"
|
||||
+ " AND xcp.ins_deel_key(+) = " + ins_key_arr[i]
|
||||
+ " AND idsc.ins_deel_key(+) = " + ins_key_arr[i]
|
||||
+ " AND isc.ins_srtcontrole_key = " + srtcont_key_arr[i]
|
||||
+ (deelsrtcont_arr[i] > 0
|
||||
? " AND idsc.ins_deelsrtcontrole_key = " + deelsrtcont_arr[i]
|
||||
: " AND idsc.ins_deelsrtcontrole_status(+) != 6")
|
||||
+ " AND idsc.ins_scenario_key(+) = 1"
|
||||
+ " AND xcp.ins_scenario_key(+) = 1"
|
||||
+ " ORDER BY ins_deelsrtcontrole_datum DESC";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
ctrdisc_key = oRs("ctr_discipline_key").Value;
|
||||
|
||||
// Waarden moeten aanwezig zijn. Mocht dat niet zo zijn dan is er iets fout.
|
||||
// Als de laatste inspectie is afgerond is, wordt er null opgeleverd voor de ins_deelsrtcontrole_key en ins_deelsrtcontrole_status.
|
||||
// Er moet dan een nieuwe inspectie worden ingeland/gestart/afgemeld of afgerond.
|
||||
var ins_deelsrtcontrole_key = oRs("ins_deelsrtcontrole_key").Value != null? oRs("ins_deelsrtcontrole_key").Value : -1;
|
||||
var ins_deelsrtcontrole_status = oRs("ins_deelsrtcontrole_status").Value != null? oRs("ins_deelsrtcontrole_status").Value : -1;
|
||||
var vervaldatum = oRs("vervaldatum").Value != null? new Date(oRs("vervaldatum").Value) : null;
|
||||
var vervallen = vervaldatum != null && vervaldatum < new Date();
|
||||
var isc_options = oRs("options").Value;
|
||||
oRs.Close();
|
||||
|
||||
// Het is de eerste inspectie of de laatste inspectie moet verwerkt(6) zijn, anders kan de inspectie niet ingepland worden.
|
||||
if (insPlan && !this_ins.canInspPlan) // Inplannen. Inplan scherm n.v.t. voor MJOB.
|
||||
{ // Het is niet de eerste inspectie of de laatste inspectie is niet verwerkt. Overslaan.
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
// Het mag niet de eerste inspectie zijn en de laatste inspectie mag niet verwerkt zijn.
|
||||
if (insEdit && !this_ins.canInspEdit)
|
||||
{ // Eerste inspectoe of verwerkte inspectie kan niet gewijzigd worden. Overslaan.
|
||||
continue;
|
||||
}
|
||||
// Kan de inspectie gereed gemeld/afgemeld of afgerond worden?
|
||||
if (insClose)
|
||||
{ // Bij bulkacties (multi) alleen kijken naar de bulkactie die uitgevoerd moet worden.
|
||||
if (insClose && ((multi && ((!fromfinish && !this_ins.canInspClose) || (fromfinish && !(this_ins.canInspFinish || this_ins.canInspFinishMjb)))) ||
|
||||
(!multi && !this_ins.canInspClose && !(this_ins.canInspFinish || this_ins.canInspFinishMjb))))
|
||||
// De inspectie kan niet afgemeld/afgerond worden. Overslaan.
|
||||
continue;
|
||||
}
|
||||
|
||||
// Ik mag inplannen, gereed melden of wijzigen.
|
||||
// De vervallen LOPENDE inspecties zitten hier ook nog tussen.
|
||||
// De rest van de vervallen inspecties zijn er door canInspPlan, canInspClose en canInspEdit uitgefilterd.
|
||||
// Vervallen LOPENDE inspecties kunnen nu behandeld worden als gewone inspecties.
|
||||
// Alle Arrays zijn even groot.
|
||||
ingesloten.push(ins_key_arr[i]);
|
||||
ingeslotensc.push(srtcont_key_arr[i]);
|
||||
ingeslotendsc.push(ins_deelsrtcontrole_key);
|
||||
// Als 1 van de srtcontroles niet gereed te melden is, dan kan er niet gereed gemeld worden en moet de button niet getoond worden.
|
||||
canClose = canClose && this_ins.canInspClose;
|
||||
// Als 1 van de srtcontroles niet af te ronden is, dan kan er niet afgerond worden en moet de button niet getoond worden.
|
||||
canFinish = canFinish && (this_ins.canInspFinish || this_ins.canInspFinishMjb);
|
||||
// Kan 1 van de srtcontroles na het gereed melden worden afgerond? Dan kan ook de afrond button getoond worden. N.v.t. voor mjob.
|
||||
if (this_ins.canInspClose && this_ins.canInspFinish)
|
||||
nrCanFinishAfterClose++;
|
||||
tobehandled++;
|
||||
// Het mag niet de eerste inspectie zijn en de laatste inspectie mag niet verwerkt zijn.
|
||||
if (insEdit && !this_ins.canInspEdit)
|
||||
{ // Eerste inspectoe of verwerkte inspectie kan niet gewijzigd worden. Overslaan.
|
||||
continue;
|
||||
}
|
||||
|
||||
// Ik mag inplannen, gereed melden of wijzigen.
|
||||
// De vervallen LOPENDE inspecties zitten hier ook nog tussen.
|
||||
// De rest van de vervallen inspecties zijn er door canInspPlan, canInspClose en canInspEdit uitgefilterd.
|
||||
// Vervallen LOPENDE inspecties kunnen nu behandeld worden als gewone inspecties.
|
||||
// Alle Arrays zijn even groot.
|
||||
ingesloten.push(ins_key_arr[i]);
|
||||
ingeslotensc.push(srtcont_key_arr[i]);
|
||||
ingeslotendsc.push(ins_deelsrtcontrole_key);
|
||||
// Als 1 van de srtcontroles niet gereed te melden is, dan kan er niet gereed gemeld worden en moet de button niet getoond worden.
|
||||
canClose = canClose && this_ins.canInspClose;
|
||||
// Als 1 van de srtcontroles niet af te ronden is, dan kan er niet afgerond worden en moet de button niet getoond worden.
|
||||
canFinish = canFinish && (this_ins.canInspFinish || this_ins.canInspFinishMjb);
|
||||
// Kan 1 van de srtcontroles na het gereed melden worden afgerond? Dan kan ook de afrond button getoond worden. N.v.t. voor mjob.
|
||||
if (this_ins.canInspClose && this_ins.canInspFinish)
|
||||
nrCanFinishAfterClose++;
|
||||
tobehandled++;
|
||||
}
|
||||
}
|
||||
if (insClose && !canClose && !canFinish)
|
||||
// Als de buttons niet zichtbaar zijn heb ik niets te doen.
|
||||
@@ -139,7 +223,7 @@ lcl.set_dialect(ctrdisc_key, "INS_TAB_DISCIPLINE_KEY");
|
||||
user.anything_todo_or_abort(tobehandled > 0); // We klagen niet over enkele wel en enkele niet
|
||||
|
||||
var desc = "";
|
||||
if (ins_key_arr.length == 1)
|
||||
if (groupby == 7 && ins_key_arr.length == 1)
|
||||
{
|
||||
sql = "SELECT d.ins_deel_omschrijving" // identificatie
|
||||
+ " , s.ins_srtdeel_code"
|
||||
@@ -156,10 +240,7 @@ if (ins_key_arr.length == 1)
|
||||
+ " AND g.ins_discipline_key = dis.ins_discipline_key";
|
||||
oRs = Oracle.Execute(sql);
|
||||
var desc = oRs("ins_deel_omschrijving").Value;
|
||||
var srtcode = oRs("ins_srtdeel_code").Value;
|
||||
var sort = oRs("ins_srtdeel_omschrijving").Value;
|
||||
var group = oRs("ins_srtgroep_omschrijving").Value;
|
||||
var disc = oRs("ins_discipline_omschrijving").Value;
|
||||
oRs.Close();
|
||||
}
|
||||
%>
|
||||
@@ -176,62 +257,65 @@ if (ins_key_arr.length == 1)
|
||||
var startdatum;
|
||||
var eersteinspectie;
|
||||
var info = "";
|
||||
sql = "SELECT *"
|
||||
+ " FROM (SELECT DISTINCT xcp.ins_srtcontrole_eenheid eenheid"
|
||||
+ " , xcp.ins_srtcontrole_info info"
|
||||
+ " , xcp.ins_srtcontrole_mode scmode"
|
||||
+ " , xcp.ctr_controle_type sctype"
|
||||
+ " , xcp.ins_deel_aanmaak"
|
||||
+ " , xcp.ins_srtcontroledl_xcp_startdat startdatum"
|
||||
+ " , xcp.ctr_ismjob ismjob"
|
||||
+ " , (SELECT COUNT (idsc.ins_deelsrtcontrole_key)"
|
||||
+ " FROM ins_deelsrtcontrole idsc1"
|
||||
+ " WHERE idsc1.ins_deel_key = xcp.ins_deel_key"
|
||||
+ " AND idsc1.ins_srtcontrole_key = xcp.ins_srtcontrole_key"
|
||||
+ " AND idsc1.ins_scenario_key = 1) aantal"
|
||||
+ " FROM ins_v_defined_inspect_xcp xcp"
|
||||
+ " , ins_deelsrtcontrole idsc"
|
||||
+ " WHERE xcp.ins_srtcontrole_key = idsc.ins_srtcontrole_key(+)" // Er kan nog voor de eerste keer geinspecteerd moeten worden.
|
||||
+ " AND idsc.ins_scenario_key(+) = 1"
|
||||
+ " AND xcp.ins_scenario_key = 1"
|
||||
+ " AND xcp.ins_deel_key IN (" + ingesloten.join(",") + ")"
|
||||
+ " AND idsc.ins_deel_key(+) IN (" + ingesloten.join(",") + ")"
|
||||
+ " AND xcp.ins_srtcontrole_periode > 0"
|
||||
+ " AND xcp.ins_srtcontrole_key IN (" + ingeslotensc.join(",") + ")"
|
||||
+ " )";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
eenheid = oRs("eenheid").Value;
|
||||
info = oRs("info").Value;
|
||||
scmode = oRs("scmode").Value;
|
||||
sctype = oRs("sctype").Value;
|
||||
aanmaakdatum = new Date(oRs("ins_deel_aanmaak").Value);
|
||||
startdatum = oRs("startdatum").Value != null? new Date(oRs("startdatum").Value) : null;
|
||||
mjob = oRs("ismjob").Value == 1;
|
||||
eersteinspectie = oRs("aantal").Value == 0;
|
||||
oRs.MoveNext();
|
||||
while (!oRs.eof)
|
||||
if (groupby == 7)
|
||||
{
|
||||
if (eenheid != oRs("eenheid").Value)
|
||||
eenheid = -1;
|
||||
if (scmode != oRs("scmode").Value)
|
||||
scmode = -1;
|
||||
if (sctype != oRs("sctype").Value)
|
||||
{
|
||||
info = "";
|
||||
sctype = -1; // Er zijn inspecties met verschillende soort ocntroles. Dan maar -1.
|
||||
}
|
||||
if (aanmaakdatum.getTime() < new Date(oRs("ins_deel_aanmaak").Value).getTime())
|
||||
aanmaakdatum = new Date(oRs("ins_deel_aanmaak").Value);
|
||||
sql = "SELECT *"
|
||||
+ " FROM (SELECT DISTINCT xcp.ins_srtcontrole_eenheid eenheid"
|
||||
+ " , xcp.ins_srtcontrole_info info"
|
||||
+ " , xcp.ins_srtcontrole_mode scmode"
|
||||
+ " , xcp.ctr_controle_type sctype"
|
||||
+ " , xcp.ins_deel_aanmaak"
|
||||
+ " , xcp.ins_srtcontroledl_xcp_startdat startdatum"
|
||||
+ " , xcp.ctr_ismjob ismjob"
|
||||
+ " , (SELECT COUNT (idsc.ins_deelsrtcontrole_key)"
|
||||
+ " FROM ins_deelsrtcontrole idsc1"
|
||||
+ " WHERE idsc1.ins_deel_key = xcp.ins_deel_key"
|
||||
+ " AND idsc1.ins_srtcontrole_key = xcp.ins_srtcontrole_key"
|
||||
+ " AND idsc1.ins_scenario_key = 1) aantal"
|
||||
+ " FROM ins_v_defined_inspect_xcp xcp"
|
||||
+ " , ins_deelsrtcontrole idsc"
|
||||
+ " WHERE xcp.ins_srtcontrole_key = idsc.ins_srtcontrole_key(+)" // Er kan nog voor de eerste keer geinspecteerd moeten worden.
|
||||
+ " AND idsc.ins_scenario_key(+) = 1"
|
||||
+ " AND xcp.ins_scenario_key = 1"
|
||||
+ " AND xcp.ins_deel_key IN (" + ingesloten.join(",") + ")"
|
||||
+ " AND idsc.ins_deel_key(+) IN (" + ingesloten.join(",") + ")"
|
||||
+ " AND xcp.ins_srtcontrole_periode > 0"
|
||||
+ " AND xcp.ins_srtcontrole_key IN (" + ingeslotensc.join(",") + ")"
|
||||
+ " )";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
eenheid = oRs("eenheid").Value;
|
||||
info = oRs("info").Value;
|
||||
scmode = oRs("scmode").Value;
|
||||
sctype = oRs("sctype").Value;
|
||||
aanmaakdatum = new Date(oRs("ins_deel_aanmaak").Value);
|
||||
startdatum = oRs("startdatum").Value != null? new Date(oRs("startdatum").Value) : null;
|
||||
mjob = oRs("ismjob").Value == 1;
|
||||
eersteinspectie = oRs("aantal").Value == 0;
|
||||
oRs.MoveNext();
|
||||
while (!oRs.eof)
|
||||
{
|
||||
if (eenheid != oRs("eenheid").Value)
|
||||
eenheid = -1;
|
||||
if (scmode != oRs("scmode").Value)
|
||||
scmode = -1;
|
||||
if (sctype != oRs("sctype").Value)
|
||||
{
|
||||
info = "";
|
||||
sctype = -1; // Er zijn inspecties met verschillende soort ocntroles. Dan maar -1.
|
||||
}
|
||||
if (aanmaakdatum.getTime() < new Date(oRs("ins_deel_aanmaak").Value).getTime())
|
||||
aanmaakdatum = new Date(oRs("ins_deel_aanmaak").Value);
|
||||
oRs.MoveNext();
|
||||
}
|
||||
oRs.Close();
|
||||
// Als er meerdere inspecties zijn dan hebben bovenstaande variablen alleen een geldige waarde als het voor alle inspecties hetzelfde is.
|
||||
}
|
||||
oRs.Close();
|
||||
// Als er meerdere inspecties zijn dan hebben bovenstaande variablen alleen een geldige waarde als het voor alle inspecties hetzelfde is.
|
||||
|
||||
%>
|
||||
<script type="text/javascript">
|
||||
var eenheid = -1;
|
||||
|
||||
<% if (insClose)
|
||||
<% if (groupby == 7 && insClose)
|
||||
{ %>
|
||||
var inspected_srtcontroles = new Array();
|
||||
<%
|
||||
@@ -268,30 +352,33 @@ if (ins_key_arr.length == 1)
|
||||
}
|
||||
}
|
||||
|
||||
var insstatus = -1;
|
||||
var status_str = "";
|
||||
if ((insPlan || insEdit) && ingeslotendsc.join(",").search("-1") < 0)
|
||||
{ // Allemaal bestaande inspecties met de status Gepland(0).
|
||||
var sql = "SELECT ins_deelsrtcontrole_status"
|
||||
+ " FROM ins_deelsrtcontrole"
|
||||
+ " WHERE ins_deelsrtcontrole_key = " + ingeslotendsc[0];
|
||||
var oRs = Oracle.Execute(sql);
|
||||
insstatus = oRs("ins_deelsrtcontrole_status").Value;
|
||||
status_str = ins.getinspectstatustext(oRs("ins_deelsrtcontrole_status").Value);
|
||||
}
|
||||
else if (insClose && ingeslotendsc.join(",").search("-1") < 0)
|
||||
{ // Allemaal bestaande inspecties met de status Gepland(0) of In Behandeling(2).
|
||||
// Is de status voor elke inspectie hetzelfde.
|
||||
var sql = "SELECT MIN(ins_deelsrtcontrole_status) minstatus"
|
||||
+ " , MAX(ins_deelsrtcontrole_status) maxstatus"
|
||||
+ " FROM ins_deelsrtcontrole"
|
||||
+ " WHERE ins_deelsrtcontrole_key IN (" + ingeslotendsc.join(",") + ")"
|
||||
+ " AND ins_scenario_key = 1";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (oRs("minstatus").Value == oRs("maxstatus").Value)
|
||||
{ // De statussen van alle inspecties zijn hetzelfde. Dan kan ik deze tonen.
|
||||
insstatus = oRs("minstatus").Value;
|
||||
status_str = ins.getinspectstatustext(oRs("minstatus").Value);
|
||||
if (groupby == 7)
|
||||
{
|
||||
var insstatus = -1;
|
||||
var status_str = "";
|
||||
if ((insPlan || insEdit) && ingeslotendsc.join(",").search("-1") < 0)
|
||||
{ // Allemaal bestaande inspecties met de status Gepland(0).
|
||||
var sql = "SELECT ins_deelsrtcontrole_status"
|
||||
+ " FROM ins_deelsrtcontrole"
|
||||
+ " WHERE ins_deelsrtcontrole_key = " + ingeslotendsc[0];
|
||||
var oRs = Oracle.Execute(sql);
|
||||
insstatus = oRs("ins_deelsrtcontrole_status").Value;
|
||||
status_str = ins.getinspectstatustext(oRs("ins_deelsrtcontrole_status").Value);
|
||||
}
|
||||
else if (insClose && ingeslotendsc.join(",").search("-1") < 0)
|
||||
{ // Allemaal bestaande inspecties met de status Gepland(0) of In Behandeling(2).
|
||||
// Is de status voor elke inspectie hetzelfde.
|
||||
var sql = "SELECT MIN(ins_deelsrtcontrole_status) minstatus"
|
||||
+ " , MAX(ins_deelsrtcontrole_status) maxstatus"
|
||||
+ " FROM ins_deelsrtcontrole"
|
||||
+ " WHERE ins_deelsrtcontrole_key IN (" + ingeslotendsc.join(",") + ")"
|
||||
+ " AND ins_scenario_key = 1";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (oRs("minstatus").Value == oRs("maxstatus").Value)
|
||||
{ // De statussen van alle inspecties zijn hetzelfde. Dan kan ik deze tonen.
|
||||
insstatus = oRs("minstatus").Value;
|
||||
status_str = ins.getinspectstatustext(oRs("minstatus").Value);
|
||||
}
|
||||
}
|
||||
}
|
||||
%>
|
||||
@@ -304,18 +391,18 @@ if (ins_key_arr.length == 1)
|
||||
function ins_submit(finish)
|
||||
{
|
||||
// Controle verplichte velden.
|
||||
<% if (insPlan || (insEdit && insstatus == 0)) // Alleen de datum verplicht bij inplannen en bij het wijzigen van ingeplande inspectie.
|
||||
<% if (groupby == 7 && insPlan || (insEdit && insstatus == 0)) // Alleen de datum verplicht bij inplannen en bij het wijzigen van ingeplande inspectie.
|
||||
{ %>
|
||||
if (!validateForm("u2", { checkOnly: ["show_plandatum", "time_from_plandatum"] }))
|
||||
return false;
|
||||
<% }
|
||||
else if (!(insEdit && insstatus == 2)) // Bij wijzigen in status 2 is er geen enkel veld verplicht.
|
||||
else if (groupby == 7 && !(insEdit && insstatus == 2)) // Bij wijzigen in status 2 is er geen enkel veld verplicht.
|
||||
{ %>
|
||||
if (!validateForm("u2"))
|
||||
return false;
|
||||
<% } %>
|
||||
|
||||
<% if (insPlan)
|
||||
<% if (groupby == 7 && insPlan)
|
||||
{ %>
|
||||
// Controleren voor uren inspectie of plandatum niet in het verleden ligt.
|
||||
// Dit kan alleen voorkomen bij uren omdat de uren voor vandaag de hele dag ingevuld kunnen worden.
|
||||
@@ -326,7 +413,7 @@ if (ins_key_arr.length == 1)
|
||||
return false;
|
||||
}
|
||||
<% }
|
||||
else if (insClose)
|
||||
else if (groupby == 7 && insClose)
|
||||
{ %>
|
||||
// Controleren voor uren inspectie of inspectie uitvoerdatum na de laatste uitvoerdatum ligt.
|
||||
// Bij multi geldt de laatste uitvoerdatum van alle objecten.
|
||||
@@ -385,7 +472,7 @@ if (ins_key_arr.length == 1)
|
||||
}
|
||||
$("#finish").val(finish);
|
||||
<% }
|
||||
else if (insEdit)
|
||||
else if (groupby == 7 && insEdit)
|
||||
{ %>
|
||||
if (dsc_is_afgemeld)
|
||||
{
|
||||
@@ -400,7 +487,7 @@ if (ins_key_arr.length == 1)
|
||||
<% } %>
|
||||
|
||||
$.post($("form[name=u2]")[0].action,
|
||||
$("[name=u2]").serialize(),
|
||||
$("[name=u2]").serialize() + "<%=transitParam%>",
|
||||
FcltCallbackAndThenAlways(ins_submit_callback),
|
||||
"json");
|
||||
}
|
||||
@@ -410,7 +497,7 @@ if (ins_key_arr.length == 1)
|
||||
FcltMgr.closeDetail(window, { cancel: true } );
|
||||
}
|
||||
|
||||
<% if (insClose || insEdit)
|
||||
<% if (groupby == 7 && (insClose || insEdit))
|
||||
{ %>
|
||||
function onChangeDeelsrtcdatum(id)
|
||||
{
|
||||
@@ -443,7 +530,7 @@ if (ins_key_arr.length == 1)
|
||||
<body id="editbody">
|
||||
<% // Melding aanmaakbaar? Alleen meldingen die enigzins beperkt zijn tot onze object(soort/groep)
|
||||
var canMelding = false;
|
||||
if (!multi && ingesloten[0] > 0)
|
||||
if (groupby == 7 && !multi && ingesloten[0] > 0)
|
||||
{
|
||||
var sql = "SELECT COUNT(*) aantal"
|
||||
+ " FROM mld_stdmelding msm"
|
||||
@@ -486,7 +573,7 @@ if (ins_key_arr.length == 1)
|
||||
buttons.push({title: (insPlan? L("lcl_ins_schedule") : L("lcl_submit")), icon: "opslaan.png", action:"ins_submit(0)"});
|
||||
if (insClose)
|
||||
{ // Bij bulkacties (multi) alleen kijken naar de bulkactie die uitgevoerd moet worden.
|
||||
if (canClose && !(multi && fromfinish))
|
||||
if (groupby == 7 && canClose && !(multi && fromfinish))
|
||||
buttons.push({title: L("lcl_ins_close"), icon: "inspfinish.png", action:"ins_submit(0)"});
|
||||
var finishAfterClose = (nrCanFinishAfterClose > 0 && multi && !fromfinish); // Na het gereed melden kan voor minstens 1 periodieke taak worden afgerond.
|
||||
if ((canFinish && (!multi || fromfinish)) || finishAfterClose)
|
||||
@@ -509,25 +596,25 @@ if (ins_key_arr.length == 1)
|
||||
}
|
||||
IFRAMER_HEADER(titletext + " " + safe.html(desc), buttons);
|
||||
%>
|
||||
<form name="u2" action="ins_inspect_save.asp?ins_keys=<%=ingesloten.join(",")%>&srtcont_key_arr=<%=ingeslotensc.join(",")%>" method="post">
|
||||
<form name="u2" action="ins_inspect_save.asp" method="post">
|
||||
<input type="hidden" name="savemode" id="savemode" value="<%=insPlan? "P" : (insClose? "C" : "E")%>">
|
||||
<input type="hidden" name="ins_keys" id="ins_keys" value="<%=ingesloten.join(",")%>">
|
||||
<input type="hidden" name="srtcont_key_arr" id="srtcont_key_arr" value="<%=ingeslotensc.join(",")%>">
|
||||
<% if (insEdit)
|
||||
<% if (groupby == 7 && insEdit)
|
||||
{ %>
|
||||
<input type="hidden" name="deelsrtcont_key" id="deelsrtcont_key" value="<%=ingeslotendsc[0]%>">
|
||||
<% } %>
|
||||
<input type="hidden" name="finish" id="finish" value="0">
|
||||
<% var blocktext = (insPlan? L("lcl_ins_schedule") : (insClose? L("lcl_ins_stop") : L("lcl_details") ))
|
||||
+ (multi
|
||||
+ (multi || groupby < 7
|
||||
? " (" + L("lcl_count") + ":" + tobehandled + ")"
|
||||
: "");
|
||||
BLOCK_START("insMultiEdit", blocktext);
|
||||
if (ins_key_arr.length == 1)
|
||||
if (groupby == 7 && ins_key_arr.length == 1)
|
||||
{
|
||||
ROFIELDTR("fld", L("lcl_obj_sort"), sort );
|
||||
ROFIELDTR("fld", L("lcl_obj_sort"), sort );
|
||||
}
|
||||
if (!multi)
|
||||
if (groupby == 7 && !multi)
|
||||
{ // Inspecteren van <20><>n object met <20><>n of meerdere soortcontroles
|
||||
var sql = "SELECT xcp.ins_srtcontrole_key"
|
||||
+ " , " + lcl.xsqla('xcp.ins_srtcontrole_omschrijving', 'xcp.ins_srtcontrole_key')
|
||||
@@ -566,7 +653,7 @@ if (ins_key_arr.length == 1)
|
||||
|
||||
// Status tonen.
|
||||
var params = {};
|
||||
if (!multi && ingeslotendsc[0] > 0)
|
||||
if (groupby == 7 && !multi && ingeslotendsc[0] > 0)
|
||||
{
|
||||
params = { infoPointer: { Url: "appl/shared/status_info.asp?insc_key=" + ingeslotendsc[0] + "&urole=bo",
|
||||
Title: L("lcl_status_details") + " " + ingeslotendsc[0]
|
||||
@@ -577,108 +664,111 @@ if (ins_key_arr.length == 1)
|
||||
ROFIELDTR("fld", L("lcl_ins_status"), status_str, params);
|
||||
|
||||
|
||||
// Men mag alleen een inspectie-uitvoerdatum invoeren die later is dan de laatste inspectie-uitvoerdatum.
|
||||
// Bij multi ook de laatste uitvoerdatum bepalen.
|
||||
sql = "SELECT MAX(idsc.ins_deelsrtcontrole_datum) lastinspectdatum"
|
||||
+ " , MAX(idsc.ins_deelsrtcontrole_datum + 1) dag_na_lastinspectdatum"
|
||||
+ " , SUM (CASE"
|
||||
+ " WHEN COALESCE(xcp.ins_srtcontroledl_xcp_eenheid, isc.ins_srtcontrole_eenheid) != 0" // Geen tijd eenheid maar dag, maand of jaar.
|
||||
+ " THEN 1" // Dag, maand of jaar.
|
||||
+ " ELSE 0" // Tijd.
|
||||
+ " END) aantal_dmj_eenheid"
|
||||
+ " , isc.ins_srtcontrole_mode"
|
||||
+ " FROM ins_deelsrtcontrole idsc"
|
||||
+ " , ins_srtcontrole isc"
|
||||
+ " , ins_srtcontroledl_xcp xcp"
|
||||
+ " WHERE idsc.ins_srtcontrole_key = isc.ins_srtcontrole_key"
|
||||
+ " AND idsc.ins_srtcontrole_key = xcp.ins_srtcontrole_key(+)"
|
||||
+ " AND idsc.ins_deel_key = xcp.ins_deel_key(+)"
|
||||
+ " AND COALESCE(xcp.ins_srtcontroledl_xcp_periode, isc.ins_srtcontrole_periode) > 0"
|
||||
+ " AND idsc.ins_deel_key IN (" + ingesloten.join(",") + ")"
|
||||
+ " AND idsc.ins_srtcontrole_key IN (" + ingeslotensc.join(",") + ")"
|
||||
+ " AND idsc.ins_scenario_key = 1"
|
||||
+ " AND xcp.ins_scenario_key(+) = 1"
|
||||
+ " GROUP BY isc.ins_srtcontrole_mode";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var lastinspectdatum;
|
||||
var dag_na_lastinspectdatum;
|
||||
var aantal_dmj_eenheid;
|
||||
var mode;
|
||||
var minDate = aanmaakdatum; // Als er nog geen inspecties zijn geweest dan is de aanmaakdatum de minimale datum.
|
||||
if (!oRs.eof && oRs("lastinspectdatum").Value != null)
|
||||
if (groupby == 7)
|
||||
{
|
||||
lastinspectdatum = new Date(oRs("lastinspectdatum").Value); // Kan uiterlijk vandaag zijn.
|
||||
dag_na_lastinspectdatum = new Date(oRs("dag_na_lastinspectdatum").Value); // Kan uiterlijk morgen zijn.
|
||||
aantal_dmj_eenheid = oRs("aantal_dmj_eenheid").Value;
|
||||
mode = oRs("ins_srtcontrole_mode").Value;
|
||||
if (mode == 0)
|
||||
// Momentmode.
|
||||
minDate = aantal_dmj_eenheid > 0? dag_na_lastinspectdatum : lastinspectdatum;
|
||||
else
|
||||
// Intervalmode.
|
||||
minDate = lastinspectdatum;
|
||||
%>
|
||||
<script type="text/javascript">
|
||||
var lastinspectdatum = new Date(<%=lastinspectdatum.getTime()%>);
|
||||
</script>
|
||||
<%
|
||||
}
|
||||
else
|
||||
{
|
||||
%>
|
||||
<script type="text/javascript">
|
||||
var lastinspectdatum = null;
|
||||
</script>
|
||||
<%
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
var dsc_is_afgemeld = false;
|
||||
var multidsc_has_afgemeld = false;
|
||||
if (!multi && ingeslotendsc[0] > 0)
|
||||
{ // Bestaande inspectie.
|
||||
var sql = "SELECT ins_deelsrtcontrole_datum"
|
||||
+ " , ins_controlemode_key"
|
||||
+ " , ins_deelsrtcontrole_opmerking"
|
||||
+ " , ins_deelsrtcontrole_plandatum"
|
||||
+ " , ins_deelsrtcontrole_status"
|
||||
+ " FROM ins_deelsrtcontrole"
|
||||
+ " WHERE ins_deelsrtcontrole_key = " + ingeslotendsc[0];
|
||||
// Men mag alleen een inspectie-uitvoerdatum invoeren die later is dan de laatste inspectie-uitvoerdatum.
|
||||
// Bij multi ook de laatste uitvoerdatum bepalen.
|
||||
sql = "SELECT MAX(idsc.ins_deelsrtcontrole_datum) lastinspectdatum"
|
||||
+ " , MAX(idsc.ins_deelsrtcontrole_datum + 1) dag_na_lastinspectdatum"
|
||||
+ " , SUM (CASE"
|
||||
+ " WHEN COALESCE(xcp.ins_srtcontroledl_xcp_eenheid, isc.ins_srtcontrole_eenheid) != 0" // Geen tijd eenheid maar dag, maand of jaar.
|
||||
+ " THEN 1" // Dag, maand of jaar.
|
||||
+ " ELSE 0" // Tijd.
|
||||
+ " END) aantal_dmj_eenheid"
|
||||
+ " , isc.ins_srtcontrole_mode"
|
||||
+ " FROM ins_deelsrtcontrole idsc"
|
||||
+ " , ins_srtcontrole isc"
|
||||
+ " , ins_srtcontroledl_xcp xcp"
|
||||
+ " WHERE idsc.ins_srtcontrole_key = isc.ins_srtcontrole_key"
|
||||
+ " AND idsc.ins_srtcontrole_key = xcp.ins_srtcontrole_key(+)"
|
||||
+ " AND idsc.ins_deel_key = xcp.ins_deel_key(+)"
|
||||
+ " AND COALESCE(xcp.ins_srtcontroledl_xcp_periode, isc.ins_srtcontrole_periode) > 0"
|
||||
+ " AND idsc.ins_deel_key IN (" + ingesloten.join(",") + ")"
|
||||
+ " AND idsc.ins_srtcontrole_key IN (" + ingeslotensc.join(",") + ")"
|
||||
+ " AND idsc.ins_scenario_key = 1"
|
||||
+ " AND xcp.ins_scenario_key(+) = 1"
|
||||
+ " GROUP BY isc.ins_srtcontrole_mode";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
inspect_data = {deelsrtcontrole_datum: oRs("ins_deelsrtcontrole_datum").Value != null? new Date(oRs("ins_deelsrtcontrole_datum").Value): null,
|
||||
controlemode_key: oRs("ins_controlemode_key").Value,
|
||||
deelsrtcontrole_opmerking: oRs("ins_deelsrtcontrole_opmerking").Value,
|
||||
deelsrtcontrole_plandatum: oRs("ins_deelsrtcontrole_plandatum").Value != null? new Date(oRs("ins_deelsrtcontrole_plandatum").Value) : null,
|
||||
deelsrtcontrole_status: oRs("ins_deelsrtcontrole_status").Value,
|
||||
deelsrtcontrole_status_str: ins.getinspectstatustext(oRs("ins_deelsrtcontrole_status").Value)}
|
||||
// Als de tijd van de datum NIET middennacht (00:00) is dan mag je de datum niet wijzigen. Daarom tijd bepalen voor FCLTcalendar.
|
||||
// Wijzigen zet datum op middennacht wat problemen met een constraint kan geven.
|
||||
var hours = inspect_data.deelsrtcontrole_datum != null? inspect_data.deelsrtcontrole_datum.getHours() : new Date().getHours();
|
||||
var minutes = inspect_data.deelsrtcontrole_datum != null? inspect_data.deelsrtcontrole_datum.getMinutes() : new Date().getMinutes();
|
||||
dsc_is_afgemeld = inspect_data.deelsrtcontrole_status >= 5;
|
||||
oRs.Close();
|
||||
}
|
||||
else
|
||||
{ // Nieuwe inspectie of multi.
|
||||
// Inplannen: Als niet multi en het is de eerste inspectie en de startdatum heeft een waarde dan deze waarde invullen als PLANDATUM.
|
||||
// De minimum datum is dan gelijk de startdatum.
|
||||
// Gereed melden/Afronden: Als niet multi en het is de eerste inspectie en de startdatum heeft een waarde dan deze waarde invullen als CONTROLEDATUM.
|
||||
inspect_data = {deelsrtcontrole_datum: insClose && !multi && startdatum != null && eersteinspectie? startdatum : null,
|
||||
controlemode_key: -1,
|
||||
deelsrtcontrole_plandatum: insPlan? (!multi && startdatum != null && eersteinspectie? startdatum : new Date()): null,
|
||||
deelsrtcontrole_opmerking: "",
|
||||
deelsrtcontrole_status: insstatus,
|
||||
deelsrtcontrole_status_str: status_str};
|
||||
if (insPlan && !multi && startdatum != null && eersteinspectie)
|
||||
var lastinspectdatum;
|
||||
var dag_na_lastinspectdatum;
|
||||
var aantal_dmj_eenheid;
|
||||
var mode;
|
||||
var minDate = aanmaakdatum; // Als er nog geen inspecties zijn geweest dan is de aanmaakdatum de minimale datum.
|
||||
if (!oRs.eof && oRs("lastinspectdatum").Value != null)
|
||||
{
|
||||
if (mjob)
|
||||
minDate = new Date(startdatum.getFullYear() + 1, 0, 1);
|
||||
lastinspectdatum = new Date(oRs("lastinspectdatum").Value); // Kan uiterlijk vandaag zijn.
|
||||
dag_na_lastinspectdatum = new Date(oRs("dag_na_lastinspectdatum").Value); // Kan uiterlijk morgen zijn.
|
||||
aantal_dmj_eenheid = oRs("aantal_dmj_eenheid").Value;
|
||||
mode = oRs("ins_srtcontrole_mode").Value;
|
||||
if (mode == 0)
|
||||
// Momentmode.
|
||||
minDate = aantal_dmj_eenheid > 0? dag_na_lastinspectdatum : lastinspectdatum;
|
||||
else
|
||||
minDate = startdatum;
|
||||
// Intervalmode.
|
||||
minDate = lastinspectdatum;
|
||||
%>
|
||||
<script type="text/javascript">
|
||||
var lastinspectdatum = new Date(<%=lastinspectdatum.getTime()%>);
|
||||
</script>
|
||||
<%
|
||||
}
|
||||
else
|
||||
{
|
||||
%>
|
||||
<script type="text/javascript">
|
||||
var lastinspectdatum = null;
|
||||
</script>
|
||||
<%
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
var dsc_is_afgemeld = false;
|
||||
var multidsc_has_afgemeld = false;
|
||||
if (!multi && ingeslotendsc[0] > 0)
|
||||
{ // Bestaande inspectie.
|
||||
var sql = "SELECT ins_deelsrtcontrole_datum"
|
||||
+ " , ins_controlemode_key"
|
||||
+ " , ins_deelsrtcontrole_opmerking"
|
||||
+ " , ins_deelsrtcontrole_plandatum"
|
||||
+ " , ins_deelsrtcontrole_status"
|
||||
+ " FROM ins_deelsrtcontrole"
|
||||
+ " WHERE ins_deelsrtcontrole_key = " + ingeslotendsc[0];
|
||||
var oRs = Oracle.Execute(sql);
|
||||
inspect_data = {deelsrtcontrole_datum: oRs("ins_deelsrtcontrole_datum").Value != null? new Date(oRs("ins_deelsrtcontrole_datum").Value): null,
|
||||
controlemode_key: oRs("ins_controlemode_key").Value,
|
||||
deelsrtcontrole_opmerking: oRs("ins_deelsrtcontrole_opmerking").Value,
|
||||
deelsrtcontrole_plandatum: oRs("ins_deelsrtcontrole_plandatum").Value != null? new Date(oRs("ins_deelsrtcontrole_plandatum").Value) : null,
|
||||
deelsrtcontrole_status: oRs("ins_deelsrtcontrole_status").Value,
|
||||
deelsrtcontrole_status_str: ins.getinspectstatustext(oRs("ins_deelsrtcontrole_status").Value)}
|
||||
// Als de tijd van de datum NIET middennacht (00:00) is dan mag je de datum niet wijzigen. Daarom tijd bepalen voor FCLTcalendar.
|
||||
// Wijzigen zet datum op middennacht wat problemen met een constraint kan geven.
|
||||
var hours = inspect_data.deelsrtcontrole_datum != null? inspect_data.deelsrtcontrole_datum.getHours() : new Date().getHours();
|
||||
var minutes = inspect_data.deelsrtcontrole_datum != null? inspect_data.deelsrtcontrole_datum.getMinutes() : new Date().getMinutes();
|
||||
dsc_is_afgemeld = inspect_data.deelsrtcontrole_status >= 5;
|
||||
oRs.Close();
|
||||
}
|
||||
else
|
||||
{ // Nieuwe inspectie of multi.
|
||||
// Inplannen: Als niet multi en het is de eerste inspectie en de startdatum heeft een waarde dan deze waarde invullen als PLANDATUM.
|
||||
// De minimum datum is dan gelijk de startdatum.
|
||||
// Gereed melden/Afronden: Als niet multi en het is de eerste inspectie en de startdatum heeft een waarde dan deze waarde invullen als CONTROLEDATUM.
|
||||
inspect_data = {deelsrtcontrole_datum: insClose && !multi && startdatum != null && eersteinspectie? startdatum : null,
|
||||
controlemode_key: -1,
|
||||
deelsrtcontrole_plandatum: insPlan? (!multi && startdatum != null && eersteinspectie? startdatum : new Date()): null,
|
||||
deelsrtcontrole_opmerking: "",
|
||||
deelsrtcontrole_status: insstatus,
|
||||
deelsrtcontrole_status_str: status_str};
|
||||
if (insPlan && !multi && startdatum != null && eersteinspectie)
|
||||
{
|
||||
if (mjob)
|
||||
minDate = new Date(startdatum.getFullYear() + 1, 0, 1);
|
||||
else
|
||||
minDate = startdatum;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (insPlan || (insEdit && (insstatus == 0 || insstatus == 2)))
|
||||
if (groupby == 7 && (insPlan || (insEdit && (insstatus == 0 || insstatus == 2))))
|
||||
FCLTcalendar("plandatum",
|
||||
{ label: L("lcl_ins_controle_plandate"),
|
||||
datum: minDate > inspect_data.deelsrtcontrole_plandatum? minDate : inspect_data.deelsrtcontrole_plandatum,
|
||||
@@ -693,7 +783,7 @@ if (ins_key_arr.length == 1)
|
||||
suppressEmpty: true
|
||||
});
|
||||
|
||||
if (insClose || (insEdit && insstatus >= 5))
|
||||
if (groupby == 7 && (insClose || (insEdit && insstatus >= 5)))
|
||||
{
|
||||
FCLTcalendar("deelsrtcontrole_plandatum",
|
||||
{ label: L("lcl_ins_controle_plandate"),
|
||||
@@ -824,7 +914,29 @@ if (ins_key_arr.length == 1)
|
||||
)
|
||||
});
|
||||
}
|
||||
}
|
||||
else (groupby != 7)
|
||||
{
|
||||
FCLTcalendar("deelsrtcontrole_datum",
|
||||
{ label: L("lcl_ins_controle_datum"),
|
||||
datum: new Date(),
|
||||
minDate: new Date(),
|
||||
maxDate: new Date(),
|
||||
required: true,
|
||||
trclass: "invoerinsp",
|
||||
timeField: true,
|
||||
timeStep: 60,
|
||||
startTime: 0,
|
||||
endTime: 23.75,
|
||||
//onChangeDate: "onChangeDeelsrtcdatum('D')",
|
||||
//onChangeTime: "onChangeDeelsrtcdatum('T')",
|
||||
readonly: true
|
||||
});
|
||||
%> <input type="hidden" id="deelsrtcontrole_datum" name="deelsrtcontrole_datum" value="<%=new Date().getTime()%>">
|
||||
<% }
|
||||
|
||||
if (groupby == 7)
|
||||
{
|
||||
sql = "SELECT ins_controlemode_key"
|
||||
+ " , " + lcl.xsqla('ins_controlemode_oms', 'ins_controlemode_key')
|
||||
+ " FROM ins_controlemode"
|
||||
@@ -841,6 +953,49 @@ if (ins_key_arr.length == 1)
|
||||
readonly: (insEdit && !canMsuEdit) // Er geldt al (insEdit && insstatus >= 5). In status 5 en 6 met INSMSU rechten mag ik de methode aanpassen (canMsuEdit).
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
%>
|
||||
<tr><td><%=L("lcl_ins_controle_mode")%>:</td></tr>
|
||||
<%
|
||||
for (var i = 1; i <= 3; i++)
|
||||
{
|
||||
if (sumtyp[i] > 0)
|
||||
{
|
||||
var typeoms = "";
|
||||
switch (i)
|
||||
{
|
||||
case 1: {
|
||||
typeoms = L("lcl_ins_srtcontrole_insp");
|
||||
break;
|
||||
}
|
||||
case 2: {
|
||||
typeoms = L("lcl_ins_srtcontrole_repl");
|
||||
break;
|
||||
}
|
||||
case 3: {
|
||||
typeoms = L("lcl_ins_srtcontrole_cert");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
sql = "SELECT ins_controlemode_key"
|
||||
+ " , " + lcl.xsqla('ins_controlemode_oms', 'ins_controlemode_key')
|
||||
+ " FROM ins_controlemode"
|
||||
+ " WHERE ins_srtcontrole_type = " + i
|
||||
+ " ORDER BY 2";
|
||||
|
||||
// Methode is voor de status Afgemeld(5) en Historie/Verwerkt(6) altijd ingevuld.
|
||||
FCLTselector("sel_controlemode" + i,
|
||||
sql,
|
||||
{ label: " " + typeoms + " (" + L("lcl_count") + ":" + sumtyp[i] + ")",
|
||||
initKey: -1,
|
||||
emptyOption: L("lcl_select_controlemode"),
|
||||
required: true
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
%>
|
||||
<script type="text/javascript">
|
||||
var dsc_is_afgemeld = <%=dsc_is_afgemeld? 1 : 0%> == 1;
|
||||
@@ -850,13 +1005,14 @@ if (ins_key_arr.length == 1)
|
||||
RWTEXTAREATR("opmerk",
|
||||
"fldremark",
|
||||
L("lcl_remark"),
|
||||
inspect_data.deelsrtcontrole_opmerking,
|
||||
(groupby == 7? inspect_data.deelsrtcontrole_opmerking : ""),
|
||||
{ html: "rows='8'",
|
||||
trclass: "invoerinsp",
|
||||
maxlength: 4000
|
||||
}
|
||||
);
|
||||
%>
|
||||
if (groupby == 7)
|
||||
{ %>
|
||||
<script type="text/javascript">
|
||||
var insstatus = <%=insstatus%>;
|
||||
//var nextinspectdatum = new Date(< %=nextinspectdatum.getTime()% >);
|
||||
@@ -868,7 +1024,7 @@ if (ins_key_arr.length == 1)
|
||||
if (scmode == 0 && eenheid != 0)
|
||||
$("#time_from_plandatum").hide().next().hide();
|
||||
</script>
|
||||
<%
|
||||
<% }
|
||||
BLOCK_END();
|
||||
%>
|
||||
</td>
|
||||
@@ -876,7 +1032,7 @@ if (ins_key_arr.length == 1)
|
||||
<tr>
|
||||
<td>
|
||||
<%
|
||||
if (!multi)
|
||||
if (groupby == 7 && !multi)
|
||||
{
|
||||
BLOCK_START("insFlex2", ""); //block over gehele breedte
|
||||
%><div id='insFlexList'><% // Wrapper div voor dynamisch herladen
|
||||
|
||||
@@ -112,7 +112,7 @@ function generateFlexKenmerkBlock(params)
|
||||
|
||||
function isReadonly (volgnummer, oRs)
|
||||
{ // Zonder WEB_INSMAN of WEB_SLEBOF rechten zijn flexkenmerken met volgnummer <= 100 readonly.
|
||||
if (volgnummer <= 100 && ins_key > 0 && ( (!writeman && !writeslebof) && (!this_ins.canChangeAlg && !this_ins.canChangeOwn)) )
|
||||
if (volgnummer <= 100 && ins_key > 0 && ( (!writeman && !writeslebof) && (!this_ins.canChangeAlg && !(this_ins.canChange || this_ins.canChangeOwn))) )
|
||||
return true;
|
||||
|
||||
if (volgnummer >= 900 && lendout && fronto) // Fronto mag uitleenkenmerken altijd bewerken
|
||||
|
||||
@@ -78,7 +78,7 @@ insp = {
|
||||
+ " , NULL ins_deelsrtcontrole_key"
|
||||
+ " , di.ins_srtcontrole_periode periode"
|
||||
+ " , di.ins_srtcontrole_eenheid eenheid"
|
||||
+ " , di.ins_srtcontrole_kosten kosten"
|
||||
+ " , (COALESCE(di.ins_srtcontrole_kosten, 0) + COALESCE(di.ins_srtcontrole_kosten2, 0) + COALESCE(di.ins_srtcontrole_kosten3, 0)) kosten"
|
||||
+ " , di.ins_srtcontrole_mode isc_mode"
|
||||
+ " , NULL plandatum"
|
||||
+ " , '' ins_deelsrtcontrole_opmerking"
|
||||
@@ -172,7 +172,7 @@ insp = {
|
||||
+ " , idsc.ins_deelsrtcontrole_key"
|
||||
+ " , di.ins_srtcontrole_periode periode"
|
||||
+ " , di.ins_srtcontrole_eenheid eenheid"
|
||||
+ " , di.ins_srtcontrole_kosten kosten"
|
||||
+ " , (COALESCE(di.ins_srtcontrole_kosten, 0) + COALESCE(di.ins_srtcontrole_kosten2, 0) + COALESCE(di.ins_srtcontrole_kosten3, 0)) kosten"
|
||||
+ " , di.ins_srtcontrole_mode isc_mode"
|
||||
+ " , idsc.ins_deelsrtcontrole_plandatum plandatum"
|
||||
+ " , idsc.ins_deelsrtcontrole_opmerking"
|
||||
|
||||
@@ -61,7 +61,7 @@ if (groupby < 7)
|
||||
var mjbXcped = getFParamInt("mjbXcped", 0) == 1; // Aangepast.
|
||||
|
||||
// Start building the query to fetch all objects satisfying
|
||||
var mjbparams = { niveau: groupby,
|
||||
var mjbparams = { niveau: groupby, // Het niveau (betekenis) van de keys (district(1), gebouw(2), discipline(3), groep(4), objectsoort(5), object(6))
|
||||
keys: ins_key_arr,
|
||||
scenario: 1,
|
||||
fulldetails: true,
|
||||
@@ -78,114 +78,20 @@ if (groupby < 7)
|
||||
frequentie: frequentie,
|
||||
incbtw: incbtw,
|
||||
toyear: mjb_freeze_year,
|
||||
groupby: 7,
|
||||
groupby: 7, // Ik wil alle objecten opvragen.
|
||||
deel: deel,
|
||||
mjbMoved: mjbMoved,
|
||||
mjbFreezed: mjbFreezed,
|
||||
mjbXcped: mjbXcped,
|
||||
jaren: [mjb_freeze_year]
|
||||
jaren: [mjb_freeze_year],
|
||||
freeze: true
|
||||
};
|
||||
var mjblist_sql = ins.getmjblist_sql(mjbparams);
|
||||
// De mjblist_sql bevat nu alle objecten (ins_deel_key) van de aangevink regels uit het mjb overzicht.
|
||||
|
||||
var sql = "SELECT xcp.ins_deel_key"
|
||||
+ " , xcp.ins_srtcontrole_key"
|
||||
+ " , result.ins_deelsrtcontrole_status"
|
||||
+ " , " + user_key
|
||||
+ " , CASE"
|
||||
+ " WHEN result.ins_deelsrtcontrole_status IS NOT NULL"
|
||||
+ " THEN (SELECT ins.nextcyclusdate (xcp.ins_deel_key, xcp.ins_srtcontrole_key, 1, 1) FROM DUAL)"
|
||||
+ " ELSE NULL"
|
||||
+ " END nextdate"
|
||||
+ " , result.\"" + mjb_freeze_year + "\" bedrag"
|
||||
+ " , TRUNC(TO_DATE(TO_CHAR(SYSDATE, 'DD-MON') || '-" + mjb_freeze_year + "', 'DD-MON-YYYY'), 'YEAR') freez_date"
|
||||
+ " , CASE"
|
||||
+ " WHEN result.\"" + mjb_freeze_year + "\" = 0 AND result.\"" + mjb_freeze_year + "_ORGBEDRAG\" IS NOT NULL AND result.\"" + mjb_freeze_year + "_ORGBEDRAG\" > 0"
|
||||
+ " THEN " + safe.quoted_sql(L("lcl_mjb_performed_high"))
|
||||
+ " ELSE ''"
|
||||
+ " END opm_has_higherprio" // Opmerking als het een hogere prio heeft (has_higherprio)
|
||||
+ " FROM ins_v_defined_inspect_xcp xcp"
|
||||
+ " , ins_v_aanwezigdeel dl"
|
||||
+ " , ins_srtdeel isd"
|
||||
+ " , ins_srtgroep isg"
|
||||
+ " , ins_discipline dd"
|
||||
+ " , alg_district d"
|
||||
+ " , alg_locatie l"
|
||||
+ " , alg_gebouw g"
|
||||
+ " , alg_verdieping v"
|
||||
+ " , alg_ruimte r"
|
||||
+ " , (" + mjblist_sql + ") result"
|
||||
+ " WHERE xcp.ins_deel_key = dl.ins_deel_key"
|
||||
+ " AND dl.ins_srtdeel_key = isd.ins_srtdeel_key"
|
||||
+ " AND isd.ins_srtgroep_key = isg.ins_srtgroep_key"
|
||||
+ " AND isg.ins_discipline_key = dd.ins_discipline_key"
|
||||
+ " AND dl.ins_alg_ruimte_key = r.alg_ruimte_key"
|
||||
+ " AND r.alg_verdieping_key = v.alg_verdieping_key"
|
||||
+ " AND v.alg_gebouw_key = g.alg_gebouw_key"
|
||||
+ " AND g.alg_locatie_key = l.alg_locatie_key"
|
||||
+ " AND d.alg_district_key = l.alg_district_key"
|
||||
+ " AND xcp.ins_deel_key = result.ins_deel_key"
|
||||
+ " AND xcp.ins_srtcontrole_key = result.ins_srtcontrole_key"
|
||||
// Autorisatie:
|
||||
// Nu nog even checken of je mag accoderen (Freeze). Stuk voor stuk duurt veel te lang.
|
||||
// 0) invoerAfterNext is voor mjob (interval modus) altijd waar.
|
||||
// 1) niet vervallen.
|
||||
// 2) status <= 0 of status == 6
|
||||
// 3) actief object
|
||||
// 4) hasCTRwrite
|
||||
// 5) bij instelling "Actieve acties" het vinkje "Starten" aangevinkt.
|
||||
// 6) geen scenario (scenario_key is 1)
|
||||
// 7) ismjob
|
||||
// 8) isFreezeYear
|
||||
// 9) readuse rechten.
|
||||
+ " AND (xcp.ins_srtcontroledl_xcp_eind IS NULL OR xcp.ins_srtcontroledl_xcp_eind >= SYSDATE)" // 1) Niet vervallen.
|
||||
+ " AND (EXISTS" // 2) Geen controles of laatste controle status 6.
|
||||
+ " (SELECT idsc1.ins_deelsrtcontrole_status"
|
||||
+ " FROM ins_deelsrtcontrole idsc1"
|
||||
+ " WHERE idsc1.ins_deelsrtcontrole_key = (SELECT MAX(idsc2.ins_deelsrtcontrole_key)"
|
||||
+ " FROM ins_deelsrtcontrole idsc2"
|
||||
+ " WHERE idsc2.ins_deel_key = xcp.ins_deel_key"
|
||||
+ " AND idsc2.ins_srtcontrole_key = xcp.ins_srtcontrole_key"
|
||||
+ " AND idsc2.ins_scenario_key = xcp.ins_scenario_key)"
|
||||
+ " AND idsc1.ins_deelsrtcontrole_status IN (0, 6))"
|
||||
+ " OR NOT EXISTS"
|
||||
+ " (SELECT idsc2.ins_deelsrtcontrole_key"
|
||||
+ " FROM ins_deelsrtcontrole idsc2"
|
||||
+ " WHERE idsc2.ins_deel_key = xcp.ins_deel_key"
|
||||
+ " AND idsc2.ins_srtcontrole_key = xcp.ins_srtcontrole_key"
|
||||
+ " AND idsc2.ins_scenario_key = xcp.ins_scenario_key))"
|
||||
+ " AND ins_deel_actief = 1" // 3) Actief object.
|
||||
+ " AND xcp.ctr_discipline_key IN (SELECT w.ins_discipline_key" // 4) hasCTRwrite.
|
||||
+ " FROM fac_v_webgebruiker w"
|
||||
+ " , fac_functie f"
|
||||
+ " WHERE w.fac_functie_key = f.fac_functie_key"
|
||||
+ " AND f.fac_functie_code = 'WEB_CTRUSE'"
|
||||
+ " AND w.fac_gebruiker_prs_level_write < 9"
|
||||
+ " AND w.fac_gebruiker_alg_level_write < 9"
|
||||
+ " AND w.prs_perslid_key = " + user_key + ")"
|
||||
+ " AND BITAND(xcp.ins_srtcontrole_options, 2) = 2" // 5) Het vinkje "Starten" aangevinkt.
|
||||
+ " AND xcp.ins_scenario_key = 1" // 6) Geen scenario.
|
||||
+ " AND xcp.ctr_ismjob = 1" // 7) ismjob.
|
||||
+ " AND result.\"" + mjb_freeze_year + "\" IS NOT NULL"; // 8) isFreezeYear, bedrag in mjb_freeze_year is niet NULL.
|
||||
|
||||
sql = discxalg3d(sql, // 9) 3D-readuse rechten.
|
||||
"dd.ins_discipline_key",
|
||||
"d.alg_regio_key",
|
||||
"d.alg_district_key",
|
||||
"l.alg_locatie_key",
|
||||
"g.alg_gebouw_key",
|
||||
"v.alg_verdieping_key",
|
||||
"r.alg_ruimte_key",
|
||||
"WEB_INSUSE", //autfunction,
|
||||
"",
|
||||
false); // forwrite => read
|
||||
|
||||
sql += " ORDER BY xcp.ins_deel_key"
|
||||
+ " , xcp.ins_srtcontrole_key";
|
||||
// De mjblist_sql bevat nu alle objecten (ins_deel_key) van de aangevinkte regels uit het mjb overzicht en levert voor elk object de waarden voor de insert op.
|
||||
|
||||
var result = {success: true, multi: multi, start: true };
|
||||
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var oRs = Oracle.Execute(mjblist_sql);
|
||||
user.anything_todo_or_abort(!oRs.eof); // We klagen niet over enkele wel en enkele niet
|
||||
|
||||
var insert_sql = "BEGIN ";
|
||||
@@ -195,7 +101,7 @@ if (groupby < 7)
|
||||
var srtcont_key = oRs("ins_srtcontrole_key").Value;
|
||||
var nextdate = oRs("nextdate").Value != null? new Date(oRs("nextdate").Value) : null;
|
||||
var inspstatus = oRs("ins_deelsrtcontrole_status").Value;
|
||||
var kosten = oRs("bedrag").Value;
|
||||
var kosten = oRs("freeze_bedrag").Value;
|
||||
var opm_has_higherprio = oRs("opm_has_higherprio").Value;
|
||||
ingesloten.push({ins_key: ins_key, srtcont_key: srtcont_key, dlsrtcont_key: -1,
|
||||
inspectiestatus: inspstatus, kosten: kosten, ismjob: true});
|
||||
@@ -229,7 +135,7 @@ if (groupby < 7)
|
||||
|
||||
var err = Oracle.Execute(insert_sql, true);
|
||||
if (err.friendlyMsg)
|
||||
result.message = err.friendlyMsg
|
||||
result.message = err.friendlyMsg;
|
||||
|
||||
for (var i = 0; i < ingesloten.length; i++)
|
||||
{
|
||||
|
||||
@@ -314,8 +314,11 @@ function insClose(rowArray, isMulti, fromfinish)
|
||||
// Scenario's kunnen niet gestart worden. Hier de scenario's er al uit filteren.
|
||||
if (!rowdata.insScenKey || rowdata.insScenKey == 1)
|
||||
{ // Het is geen scenario. De periodieke taak kan gestart worden. De inspectie aan het array toevoegen.
|
||||
srtcontrolekeyArray[i - deleted] = rowdata.insSrtControleKey;
|
||||
deelsrtcontrkeyArray[i - deleted] = rowdata.insDeelSrtContrKey;
|
||||
if (groupby == 7)
|
||||
{
|
||||
srtcontrolekeyArray[i - deleted] = rowdata.insSrtControleKey;
|
||||
deelsrtcontrkeyArray[i - deleted] = rowdata.insDeelSrtContrKey;
|
||||
}
|
||||
}
|
||||
else
|
||||
{ // Het is een scenario. De ins_key verwijderen uit de lijst.
|
||||
@@ -336,7 +339,24 @@ function insClose(rowArray, isMulti, fromfinish)
|
||||
+ "&deelsrtcont_keys=" + deelsrtcontrkeyArray.join(",")
|
||||
+ (fromfinish
|
||||
? "&fromfinish=1"
|
||||
: "");
|
||||
: "")
|
||||
+ "&dist_key=" + dist_key
|
||||
+ "&loc_key=" + loc_key
|
||||
+ "&bld_key=" + bld_key
|
||||
+ "&disc_key=" + disc_key
|
||||
+ "&srtgroep_key=" + srtgroep_key
|
||||
+ "&srtdeel_key=" + srtdeel_key
|
||||
+ "&groep=" + groep
|
||||
+ "&categorie_key=" + categorie_key
|
||||
+ "&srtcontrole=" + srtcontrole
|
||||
+ "&frequentie=" + frequentie
|
||||
+ "&incbtw=" + incbtw
|
||||
+ "&groupby=" + groupby
|
||||
+ "&deel=" + deel
|
||||
+ "&actsit=" +
|
||||
+ "&mjbMoved=" + mjbMoved
|
||||
+ "&mjbFreezed=" + mjbFreezed
|
||||
+ "&mjbXcped=" + mjbXcped;
|
||||
FcltMgr.openDetail(url, L("lcl_ins_stop"));
|
||||
}
|
||||
|
||||
@@ -358,7 +378,8 @@ function insFinish(rowArray, isMulti)
|
||||
// Scenario's kunnen niet gestart worden. Hier de scenario's er al uit filteren.
|
||||
if (!rowdata.insScenKey || rowdata.insScenKey == 1)
|
||||
{ // Het is geen scenario. De periodieke taak kan gestart worden. De inspectie aan het array toevoegen.
|
||||
deelsrtcontrkeyArray[i - deleted] = rowdata.insDeelSrtContrKey;
|
||||
if (groupby == 7)
|
||||
deelsrtcontrkeyArray[i - deleted] = rowdata.insDeelSrtContrKey;
|
||||
isc_status = rowdata.ins_status;
|
||||
mustClose = mustClose || (isc_status != 5);
|
||||
}
|
||||
|
||||
@@ -117,7 +117,7 @@ var authparams = user.checkAutorisation(autfunction);
|
||||
$("form[name=u2]").attr("action", "ins_search_list.asp");
|
||||
}
|
||||
<% } %>
|
||||
<% if (backo)
|
||||
<% if (fronto || backo)
|
||||
{ %>
|
||||
// Submitten met kenmerken
|
||||
doSubmitWithKenmerken();
|
||||
@@ -140,7 +140,7 @@ var authparams = user.checkAutorisation(autfunction);
|
||||
return -1;
|
||||
};
|
||||
|
||||
<% if (backo)
|
||||
<% if (fronto || backo)
|
||||
{ %>
|
||||
function myModal()
|
||||
{
|
||||
@@ -664,10 +664,11 @@ var authparams = user.checkAutorisation(autfunction);
|
||||
|
||||
var buttons = [{title: L("lcl_search"), action: "doSubmit()" }];
|
||||
if (backo)
|
||||
{
|
||||
buttons.push ( {title: L("lcl_shared_more"), action:"iface_toggleSecondarySearchblock()", id : "btnMoreLess" } );
|
||||
|
||||
if (fronto || backo)
|
||||
buttons.push ( {title: L("lcl_obj_advanced"), action:"myModal()", id: "btnAdvanced", xclass: "noxd" } );
|
||||
}
|
||||
|
||||
CreateButtons(buttons, { entersubmit: true} );
|
||||
%>
|
||||
</form>
|
||||
|
||||
@@ -281,7 +281,7 @@ oRs.Close();
|
||||
}
|
||||
|
||||
var buttons = [ ];
|
||||
if (this_ins.canChangeOwn)
|
||||
if (this_ins.canChange || this_ins.canChangeOwn)
|
||||
buttons.push({title: L("lcl_change"), action: "ins_change()", icon: "wijzigen.png" });
|
||||
|
||||
if (canMelding)
|
||||
|
||||
@@ -36,8 +36,8 @@ scaffolding(this_model,
|
||||
"modal": true,
|
||||
requires: { js: ["./ctr_scenario.js"] },
|
||||
no_clone: S("fac_usrrap_mode") != 1,
|
||||
buttons: [{ title: L("lcl_mjb_inst_scen"), action: "commit_scenario", icon: "plus.png" },
|
||||
{ title: L("lcl_mjb_copy_current"), action: "copy_current", icon: "delete.png" }]
|
||||
buttons: [{ title: L("lcl_mjb_inst_scen"), action: "commit_scenario", icon: "doorvoeren.png" },
|
||||
{ title: L("lcl_mjb_copy_current"), action: "copy_current", icon: "copy.png" }]
|
||||
}
|
||||
});
|
||||
%>
|
||||
|
||||
@@ -30,9 +30,21 @@ var scen_key = getFParamInt("scenario");
|
||||
var totalcopy = getFParamInt("totalcopy", 0) == 1;
|
||||
if (totalcopy)
|
||||
{ // 1 Willekeurig object en controle ophalen om straks 1 maal de rechten te checken en in 1 keer een copie te maken van alle controles.
|
||||
// Alleen kijken naar 1) MJOB objecten.
|
||||
// 2) de taakcategorie<69>n die CTRUSE schrijf rechten hebben.
|
||||
// Level of 3D authorization is 3: 3 = Read and Write separately authorizable (Ja/Nee).
|
||||
var sql = "SELECT ins_deel_key"
|
||||
+ " , ins_srtcontrole_key"
|
||||
+ " FROM ins_v_defined_inspect di"
|
||||
+ " WHERE di.ctr_ismjob = 1"
|
||||
+ " AND EXISTS (SELECT 1"
|
||||
+ " FROM fac_v_webgebruiker w"
|
||||
+ " , fac_functie f"
|
||||
+ " WHERE w.prs_perslid_key = " + user_key
|
||||
+ " AND w.fac_functie_key = f.fac_functie_key"
|
||||
+ " AND ins_discipline_key = di.ctr_discipline_key"
|
||||
+ " AND fac_gebruiker_alg_level_write = -1"
|
||||
+ " AND fac_functie_code = 'WEB_CTRUSE')"
|
||||
+ " ORDER BY ins_deel_key DESC"
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var ins_key_arr = [oRs("ins_deel_key").Value];
|
||||
@@ -107,7 +119,11 @@ result.scen_key = scen_key;
|
||||
|
||||
for (var i = 0; i < ingesloten.length; i++)
|
||||
{ // Toevoegen van de taak voor het object aan het (nieuwe) scenario.
|
||||
// Als totalcopy dan wordt de for lus 1 maal doorlopen en worden alle controles in 1 keer aangemaakt.
|
||||
// Alleen MJOB objecten.
|
||||
// Als totalcopy:
|
||||
// - dan wordt de for lus 1 maal doorlopen en worden alle controles in 1 keer aangemaakt.
|
||||
// - dan alleen kijken naar de taakcategorie<69>n die CTRUSE schrijf rechten hebben.
|
||||
// Level of 3D authorization is 3: 3 = Read and Write separately authorizable (Ja/Nee).
|
||||
sql = "INSERT INTO ins_srtcontroledl_xcp (ins_srtcontroledl_xcp_key"
|
||||
+ " , ins_deel_key"
|
||||
+ " , ins_srtcontrole_key"
|
||||
@@ -151,7 +167,14 @@ for (var i = 0; i < ingesloten.length; i++)
|
||||
+ (!totalcopy
|
||||
? " AND ins_deel_key = " + ingesloten[i].ins_key
|
||||
+ " AND ins_srtcontrole_key = " + ingesloten[i].srtcont_key
|
||||
: "")
|
||||
: " AND EXISTS (SELECT 1"
|
||||
+ " FROM fac_v_webgebruiker w"
|
||||
+ " , fac_functie f"
|
||||
+ " WHERE w.prs_perslid_key = " + user_key
|
||||
+ " AND w.fac_functie_key = f.fac_functie_key"
|
||||
+ " AND ins_discipline_key = ctr_discipline_key"
|
||||
+ " AND fac_gebruiker_alg_level_write = -1"
|
||||
+ " AND fac_functie_code = 'WEB_CTRUSE')")
|
||||
+ " AND ins_scenario_key = 1"
|
||||
+ " AND ctr_ismjob = 1"
|
||||
|
||||
|
||||
@@ -122,6 +122,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
||||
%>
|
||||
<script type="text/javascript">
|
||||
var urole = "<%=urole%>";
|
||||
var fulldetails = <%=fulldetails? 1 : 0%> == 1;
|
||||
var dist_key = <%=dist_key%>;
|
||||
var loc_key = <%=loc_key%>;
|
||||
var bld_key = <%=bld_key%>;
|
||||
|
||||
@@ -3208,7 +3208,10 @@ mld = {setmeldingstatus:
|
||||
+ " AND prs_perslid_key = " + user_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (!oRs.Eof)
|
||||
mresult.canReadAny = mresult.canFEread = true;
|
||||
{
|
||||
mresult.canReadAny = mresult.canFEread = true;
|
||||
mresult.parentOfOwnRead = true; // Ik heb FEread rechten gekregen vanwege het feit dat de melding een parent van een eigen melding is.
|
||||
}
|
||||
oRs.Close();
|
||||
}
|
||||
|
||||
|
||||
@@ -226,12 +226,16 @@ for (var u = 0; u < uitvkeyArray.length; u++)
|
||||
if (isNew)
|
||||
{ // nieuwe opdracht
|
||||
|
||||
if (tot_kosten < mld_typeopdr_fvs)
|
||||
{
|
||||
// for_approval blijft false
|
||||
}
|
||||
// Persoonlijk Gebonden Budget (PGB) en/of Afdeling Gebonden Budget (AGB) controle
|
||||
// mld_disc_info.disc_params_pgb: 0 = Geen van beiden
|
||||
// 1 = Alleen pgb
|
||||
// 2 = Alleen agb
|
||||
// 3 = Beiden, pgb en agb
|
||||
if (mld_opdr.disc_params_pgb > 0)
|
||||
else if (mld_opdr.disc_params_pgb > 0)
|
||||
{ // Persoonlijk Gebonden Budget (PGB) en Afdeling Gebonden Budget (AGB) controle
|
||||
// Fiatteringsproces moet gevolgd worden op de naam van de user
|
||||
var disc_key = mld_opdr.dis_key;
|
||||
@@ -441,7 +445,7 @@ for (var u = 0; u < uitvkeyArray.length; u++)
|
||||
}
|
||||
else if (requestApproval)
|
||||
{
|
||||
if (tot_kosten < mld_typeopdr_fvs)
|
||||
if (tot_kosten < mld_typeopdr_fvs) // fvs is eigenlijk al eerder afgehandeld
|
||||
requestApproval = false; // Hoge fiat vrijstelling, toch niet nodig
|
||||
else
|
||||
status = 3; // Ter fiattering.
|
||||
|
||||
@@ -71,7 +71,7 @@ oRs.Close();
|
||||
|
||||
var this_stdm = mld.mld_stdmeldinginfo(stdm_key);
|
||||
var new_disc = this_stdm.ins_discipline_key;
|
||||
var autoorder = (this_stdm.autoorder? 1 : 0) == 1;
|
||||
var autoorder = stdm_key != old_stdm && this_stdm.autoorder == 1;
|
||||
var save_notitie = false;
|
||||
|
||||
var result = {success: true, message: "", key: mld_key, autoorder: autoorder};
|
||||
@@ -88,9 +88,9 @@ else
|
||||
];
|
||||
|
||||
if (S("mld_forward_can_assign"))
|
||||
fields.push({ dbs: "mld_melding_behandelaar_key", typ: "key", frm: "sBehandel", track: L("lcl_mld_behandelaar"), foreign: "prs_perslid" });
|
||||
fields.push({ dbs: "mld_melding_behandelaar_key", typ: "key", frm: "sBehandel", foreign: "prs_perslid" });
|
||||
else if (mld_melding.mld_status != 5)
|
||||
fields.push({ dbs: "mld_melding_behandelaar_key", typ: "key", val: -1, track: L("lcl_mld_behandelaar"), foreign: "prs_perslid" });
|
||||
fields.push({ dbs: "mld_melding_behandelaar_key", typ: "key", val: -1, foreign: "prs_perslid" });
|
||||
|
||||
if ((S("mld_forward_opm_flags") >= 2) || S("mld_note_mode") == 2)
|
||||
{ // Toevoegen als notitieveld.
|
||||
@@ -188,6 +188,12 @@ else
|
||||
}
|
||||
mld.nextworkflowstep(mld_key, -1); // Is de nieuwe een workflowstart?
|
||||
}
|
||||
|
||||
// Submit additional tracking MLDBEH/MLDBE2 als behandelaar is aangepast.
|
||||
if (old_beh != sBehandel)
|
||||
{ // Anders is-ie niet veranderd.
|
||||
mld.trackbehandelaar(mld_key, sBehandel);
|
||||
}
|
||||
}
|
||||
|
||||
Response.Write(JSON.stringify(result));
|
||||
|
||||
@@ -55,7 +55,7 @@ var stdm_info = mld.mld_stdmeldinginfo(mld_melding.stdm);
|
||||
var verynew = getQParamInt("verynew", 0) == 1 && (mld_melding.mld_status == 2 || mld_melding.mld_status == 0)&& !mld_melding.parent_key;
|
||||
|
||||
var this_mld = mld.func_enabled_melding(mld_key, {verynew: verynew}); // Wat heb ik zoal aan rechten op deze specifieke melding
|
||||
var hasFOBOread = this_mld.canFOread || this_mld.canBOread;
|
||||
var hasFOBOread = this_mld.canFOread || this_mld.canBOread; // JGL: Volgens mij identiek aan this_mld.haveFOBOrights ?
|
||||
|
||||
user.auth_required_or_abort(this_mld.canReadAny);
|
||||
|
||||
@@ -512,7 +512,7 @@ function parentButton()
|
||||
if (mld_melding.Startkey && mld_melding.Startkey != mld_key)
|
||||
mld.referentielink("M", mld_melding.Startkey, L("lcl_mld_continue_of"));
|
||||
|
||||
if ((urole == "bo" || urole == "fo") && mld_melding.flag)
|
||||
if (this_mld.haveFOBOrights && mld_melding.flag)
|
||||
{
|
||||
// I would like the circle icon in the value instead of the label, but that is html-safe
|
||||
ROFIELDTR("fld showflag", L("lcl_mld_flags")+I("fa-circle mldflag"+ mld_melding.flag), L("lcl_mld_flag" + mld_melding.flag), {trclass: "showflag"});
|
||||
@@ -543,7 +543,7 @@ function parentButton()
|
||||
|
||||
//21-2-2016 11:18:10/PF voor Logcentre-toepassing is mld_onderwerp wel een dingetje; zo heeft het iig geen nut.
|
||||
var buttons = [];
|
||||
if (S("mld_show_search_similar") && (backo || fronto))
|
||||
if (S("mld_show_search_similar") && this_mld.haveFOBOrights)
|
||||
{
|
||||
var goegel = "FcltMgr.openDetail('/appl/mld/mld_search.asp?urole=" + urole + "&chkSelf=1&chkBusy=1&autosearch=1"
|
||||
+ "&stdm_str=" + mld_melding.stdm
|
||||
|
||||
@@ -317,11 +317,11 @@ var timestamp_notes = new Date();
|
||||
if (!note_zichtbaarFE && !srtnoti)
|
||||
edittm += "<i class='fa fa-lock fa-fw fa-lg' title='{0}'></i>".format(L("lcl_mld_verborgen_FE"));
|
||||
|
||||
var autocollapse = S("mld_note_autocollapse") && note_oms.match(new RegExp(S("mld_note_autocollapse")));
|
||||
var autocollapse = S("mld_note_autocollapse") && note_oms.match(new RegExp(S("mld_note_autocollapse"))) && note_oms.split("\n").length > 2;
|
||||
if (autocollapse || safehtml.length > S("rs_maxchar") * 5)
|
||||
{
|
||||
safehtml = "<div class='notetoggler {1}'>{0}</div>".format(safehtml, autocollapse?"autocollapse":(LastIsNote?"open":""))
|
||||
+ "<span class='notetoggler " + (LastIsNote?"open":"") + "'>" + (LastIsNote?L("lcl_rs_truncate"):L("lcl_rs_truncated")) + "</span>";
|
||||
+ "<span class='notetoggler " + (!autocollapse && LastIsNote?"open":"") + "'>" + (!autocollapse && LastIsNote?L("lcl_rs_truncate"):L("lcl_rs_truncated")) + "</span>";
|
||||
}
|
||||
Response.Write("<tr class='mldhandlingdiv"+clsself+cls_tr+"'>"
|
||||
+ "<td class='" + cls + "'>");
|
||||
@@ -384,7 +384,8 @@ var timestamp_notes = new Date();
|
||||
// Voeg eventueel weer toe wat er voor de reload als gevolg van upload bijlage stond.
|
||||
note_oms = (tmp_note != "" ? tmp_note : note_oms);
|
||||
|
||||
if ((!mfe.haveOnlyFErights && mfe.canReadAny) || (mfe.haveOnlyFErights && mld_info.fenotes>0))
|
||||
// Aanvulling textbox niet tonen als ik alleen FEread rechten heb gekregen vanwege het feit dat de melding een parent van een eigen melding is (!mfe.parentOfOwnRead).
|
||||
if ((!mfe.haveOnlyFErights && mfe.canReadAny) || (mfe.haveOnlyFErights && !mfe.parentOfOwnRead && mld_info.fenotes > 0))
|
||||
{
|
||||
if (note_key < 0)
|
||||
{
|
||||
|
||||
@@ -839,7 +839,7 @@ if (action != "forward")
|
||||
if (mfe.canReadNotes) { // Heb ik rechten om notities te zien
|
||||
var tsql = "SELECT COUNT(*) FROM mld_melding_note n WHERE n.mld_melding_key = " + mld_key;
|
||||
toRs = Oracle.Execute(tsql);
|
||||
BUTTON(L("lcl_mld_frame_notes")+" ("+toRs(0).value+")", {linkid: rooturl+"/appl/pda/notitie.asp?node=melding&key="+mld_key, dataicon: "comment", dataajax: "false"});
|
||||
BUTTON(L("lcl_mld_frame_notes")+" ("+toRs(0).value+")", {linkid: rooturl+"/appl/pda/notitie.asp?node=melding&urole="+urole+"&key="+mld_key, dataicon: "comment", dataajax: "false"});
|
||||
}
|
||||
if (ruimte_key > -1 && user.checkAutorisation( "WEB_ALGUSE", true)) {
|
||||
BUTTON(L("lcl_room"), {linkid: rooturl+"/appl/pda/ruimte.asp?ruimte_key="+ruimte_key, dataicon: "info", dataajax: "false"});
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
*/
|
||||
var pnode = getQParam("node");
|
||||
var pkey = getQParamInt("key");
|
||||
var urole = getQParamSafe("urole", "fe");
|
||||
var LOCKED_USER_OK = { "xmlnode": pnode, "key": pkey };%>
|
||||
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
@@ -43,7 +44,7 @@ var sql = "";
|
||||
pnote.canwritenotes = mfe.canWriteNotes;
|
||||
pnote.onlyFErights = mfe.haveOnlyFErights;
|
||||
|
||||
var action = "../mld/mld_edit_note_save.asp?mld_key=" +pkey;
|
||||
var action = "../mld/mld_edit_note_save.asp?urole="+urole+"&mld_key=" +pkey;
|
||||
|
||||
var mld_info = mld.mld_melding_info(pkey);
|
||||
lcl.set_dialect(mld_info.srtdisc, "MLD_SRTDISCIPLINE_KEY");
|
||||
|
||||
@@ -49,7 +49,11 @@ else if (level == "B")
|
||||
authparams = user.checkAutorisation("WEB_PRSMAN", true);
|
||||
bDeletePRSMAN = authparams && authparams.PRSwritelevel < 9;
|
||||
|
||||
authparams = user.checkAutorisation("WEB_RELMAN", true);
|
||||
if (S("bgt_enabled")==1)
|
||||
authparams = user.checkAutorisation("WEB_BGTUSE", true);
|
||||
else
|
||||
authparams = user.checkAutorisation("WEB_RELMAN", true);
|
||||
|
||||
bDeleteRELMAN = authparams && authparams.PRSwritelevel < 9;
|
||||
canDelete = (bDeletePRSMAN || bDeleteRELMAN);
|
||||
}
|
||||
|
||||
@@ -136,7 +136,7 @@ if (intern)
|
||||
readonly: false,
|
||||
required: false
|
||||
});
|
||||
RWFIELDTR("bdr_levnr", "fld", L("lcl_prs_companies_leverancier_nr"), bedrijf_info.prs_leverancier_nr, {maxlength: 50});
|
||||
RWFIELDTR("bdr_levnr", "fld", L("lcl_prs_companies_leverancier_nr"), bedrijf_info.prs_leverancier_nr, {required: (S("prs_bedrijf_leveranciernr_unique")==1 ? true : false),maxlength: 50});
|
||||
CHECKBOXTR(L("lcl_prs_companies_leverancier"), "fldalgbez", "bdr_lev", bedrijf_info.leverancier == 1);
|
||||
CHECKBOXTR(L("lcl_prs_companies_uitvoerende"), "fldalgbez", "bdr_uitv", bedrijf_info.uitvoerende == 1);
|
||||
CHECKBOXTR(L("lcl_prs_companies_contract"), "fldalgbez", "bdr_cntr", bedrijf_info.contract == 1);
|
||||
|
||||
@@ -79,6 +79,21 @@
|
||||
<div id="myQR"><%=L("lcl_qrc_auth_header").format(user.prs_perslid_email(), safe.html(site + bookmark), S("qr_auth_expire"))%></div>
|
||||
<center><img class="QRC" src='../shared/qrcode.asp?size=4&text=<%=Server.URLEncode(bookmark + "&no302=1")%>'><br>
|
||||
</center>
|
||||
|
||||
<% // if (!user.haspw())
|
||||
{
|
||||
var code = shared.random(6, 'base32').toLowerCase(); // Effectief ? bits
|
||||
var sql = "UPDATE prs_perslid "
|
||||
+ " SET prs_perslid_authenticatie = " + safe.quoted_sql(code)
|
||||
+ " , prs_perslid_authenticatie_exp = sysdate + (1/(24*60))*"+S("mobile_password_exp") // Als dit 5 minuten is vind ik dat lang
|
||||
+ " WHERE prs_perslid_key = " + user_key;
|
||||
Oracle.Execute(sql);
|
||||
|
||||
// TODO: lcl maken in trunk
|
||||
%>
|
||||
<ol start="4"><li>Voor de <b><i class="fa fa-apple fa-2x"></i> iPhone-app</b> uit de App Store gebruikt U dit (eenmalige) wachtwoord: <span id="qrurl"><%=safe.html(code)%></span>.</li></ol>
|
||||
<% } %>
|
||||
|
||||
<div id="footer"><%=L("lcl_qrc_auth_footer")%></div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -151,7 +151,10 @@ var res_tot = new Date(<%=date_to.getTime()%>);
|
||||
axis: "<%=show_park?'y':'xy'%>" // werkt slecht binnen plantd
|
||||
});
|
||||
});
|
||||
$("#btnchange").html(L("lcl_res_edit_inplanbord"));
|
||||
$("#btnchange").html(L("lcl_res_edit_inplanbord"))
|
||||
.addClass("noHover")
|
||||
.removeClass("btn_disabled"); // Remove disabled CSS
|
||||
return true; // But keep button onClick disabled
|
||||
};
|
||||
|
||||
</script>
|
||||
|
||||
@@ -234,7 +234,10 @@ hour_px = res.hour_px(width_px - 400, nr_days);
|
||||
//axis: "xy"
|
||||
});
|
||||
});
|
||||
$("#btnchange").html(L("lcl_res_edit_inplanbord"));
|
||||
$("#btnchange").html(L("lcl_res_edit_inplanbord"))
|
||||
.addClass("noHover")
|
||||
.removeClass("btn_disabled"); // Remove disabled CSS
|
||||
return true; // But keep button onClick disabled
|
||||
}
|
||||
<% if (autosearch && samedate)
|
||||
{ %>
|
||||
|
||||
@@ -144,6 +144,8 @@ function scaffolding_show(model, scf_params)
|
||||
var cnt = oRs(0).Value;
|
||||
oRs.Close();
|
||||
}
|
||||
if ("hook_pre_show" in model)
|
||||
model.hook_pre_show(xxx_data, model.fields);
|
||||
|
||||
if ("hook_pre_show" in model)
|
||||
model.hook_pre_show(xxx_data, model.fields, scf_params);
|
||||
|
||||
@@ -1355,6 +1355,12 @@ div.buttoncontainer {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#buttons ul li.hasIcon.noHover:hover {
|
||||
cursor: default;
|
||||
color: ==buttoncolor==;
|
||||
background-color:==iconbackgroundcolor==;
|
||||
}
|
||||
|
||||
.btn_disabled
|
||||
{
|
||||
opacity: 0.6;
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
Note: Sinds 5.2.2 zitten de settings in de database
|
||||
*/
|
||||
|
||||
var FCLTVersion="2017.2a";
|
||||
var FCLTVersion="2017.2b";
|
||||
var FCLTMinDatabaseSchema="32";
|
||||
|
||||
var custpath = rooturl + "/cust/" + customerId; // path to customer files
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
<%
|
||||
if (Request.QueryString.Count == 0)
|
||||
{
|
||||
var ANONYMOUS_Allowed = 1;
|
||||
FCLTEXPIRES = 8*60; // geen database interactie tenslotte
|
||||
LCL_Disable = 1;
|
||||
}
|
||||
|
||||
@@ -797,6 +797,12 @@ function __rsProcessResultset(processParams) // processParams wordt blind aan al
|
||||
(cnt < S("qp_maxrows2") || isExcel) && // Naar excel altijd alle regels (meer dan S("qp_maxrows2")) weergeven.
|
||||
!oRs.EOF; cnt++)
|
||||
{
|
||||
if (!Response.IsClientConnected)
|
||||
{
|
||||
__Log("Response.IsClientConnected false, Resultset aborted.", "#00FF00");
|
||||
Response.End;
|
||||
}
|
||||
|
||||
var oRsFlex = null;
|
||||
if ((isPrinting || isExcel || showProperties) && this.printFlex)
|
||||
{
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
|
||||
<xsl:template name="pagefooter">
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template match="melding" mode="include">
|
||||
<table border="0" width="100%" cellpadding="2">
|
||||
<tr>
|
||||
@@ -285,17 +285,17 @@
|
||||
<xsl:if test="melding/key != '' and melding/opmerking != ''">
|
||||
<tr>
|
||||
<td>
|
||||
<font color='#4F1E4C' size="2"><b>Afhandeling melding <xsl:value-of select="melding/key"/>:</b></font>
|
||||
</td>
|
||||
<font color='#4F1E4C' size="2"><b>Afhandeling melding <xsl:value-of select="melding/key"/>:</b></font>
|
||||
</td>
|
||||
<td colspan="3"><font color='#4F1E4C' size="2">
|
||||
<xsl:call-template name="linebreaks">
|
||||
<xsl:with-param name="string" select="melding/opmerking"/>
|
||||
</xsl:call-template>
|
||||
</font></td>
|
||||
</font></td>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
</table>
|
||||
</xsl:template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="string-replace-all">
|
||||
<xsl:param name="text"/>
|
||||
@@ -326,11 +326,11 @@
|
||||
<style>th {
|
||||
border: 0px solid #c08080;
|
||||
}
|
||||
|
||||
|
||||
th.DefResultsetHeading {
|
||||
padding: 3px;
|
||||
background:url(../../cust/AAIT/xsl/heading.png);
|
||||
font-family: Verdana;
|
||||
font-family: Verdana;
|
||||
font-size: 12pt;
|
||||
color: #ffffff;
|
||||
}
|
||||
@@ -593,7 +593,7 @@ function startAutoRefreshTim() {
|
||||
<xsl:if test="@view='aait_v_rap_bezoekers' or @view='AAIT_V_RAP_BEZOEKERS'">
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Open+Sans:300normal,300italic,200italic"/>
|
||||
<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Open+Sans:300normal,300italic,200italic"/>
|
||||
<style>
|
||||
.title {
|
||||
font-family: 'Open Sans', serif;
|
||||
@@ -607,7 +607,7 @@ function startAutoRefreshTim() {
|
||||
font-weight: 300;
|
||||
font-size: 22pt;
|
||||
background-color:#FFFFFF;
|
||||
border-bottom-style: solid;
|
||||
border-bottom-style: solid;
|
||||
border-bottom-width:2px;
|
||||
border-bottom-color:#000000;
|
||||
text-align: left;
|
||||
@@ -648,7 +648,7 @@ function startAutoRefreshTim() {
|
||||
<td VALIGN="top" style="background-image:url('../../cust/aait/infobord/vis_left_back.png'); background-repeat: repeat-y" height="100%">
|
||||
<img src="../../cust/aait/infobord/vis_left.png"/>
|
||||
</td>
|
||||
<td width="100%" valign="top" style="padding: 40px 40px; ">
|
||||
<td width="100%" valign="top" style="padding: 40px 40px; ">
|
||||
<table width="100%">
|
||||
<tr><td colspan="3" class="title"></td></tr>
|
||||
<tr>
|
||||
@@ -686,13 +686,13 @@ function startAutoRefreshTim() {
|
||||
<style>th {
|
||||
border: 0px solid #c08080;
|
||||
}
|
||||
|
||||
|
||||
td.verdeling {
|
||||
font-family: Verdana;
|
||||
padding: 3px;
|
||||
font-size: 8pt;
|
||||
border-bottom-width: thin;
|
||||
border-bottom-style: solid;
|
||||
border-bottom-width: thin;
|
||||
border-bottom-style: solid;
|
||||
border-bottom-color: #808080;
|
||||
}
|
||||
td.header {
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<xsl:value-of select="substring(translate('$Revision$', '$ ', ''), 10)"/>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="Xsrtnotificatiecode">MLDAFM</xsl:variable>
|
||||
<xsl:variable name="Xsrtnotificatiecode">MLDAFM</xsl:variable>
|
||||
|
||||
<xsl:template name="pageheader">
|
||||
<table border="0" width="100%">
|
||||
@@ -30,7 +30,7 @@
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="melding" mode="include">
|
||||
<style>
|
||||
<style>
|
||||
td, p {
|
||||
font-size: 10pt;
|
||||
}
|
||||
@@ -73,7 +73,7 @@
|
||||
<xsl:when test="plaats/regio/district/locatie/key='22'">U</xsl:when>
|
||||
<xsl:otherwise></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
</xsl:variable>
|
||||
<table border="0" width="100%">
|
||||
<tr>
|
||||
<td colspan="4">
|
||||
@@ -87,24 +87,24 @@ Your kind words have been shared with other members of the Facilities team and w
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:choose>
|
||||
<xsl:when test="//language='NL'"><br/><br/>Wij danken u voor het voor het maken van de melding bij <xsl:value-of select="$team_naam"/>. Wij nemen de melding in behandeling en informeren
|
||||
<xsl:when test="//language='NL'"><br/><br/>Wij danken u voor het maken van de melding bij <xsl:value-of select="$team_naam"/>. Wij nemen de melding in behandeling en informeren
|
||||
U over de voortgang en gereed melding. Wanneer u in de tussentijd onze hulp nodig heeft, neemt u alstublieft contact op met <xsl:value-of select="$team_naam"/> en gebruik als referentie het meldingsnummer.
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:otherwise>
|
||||
<br/><br/>Thank you for your call which has now been allocated to a member of the Facilities team to solve.
|
||||
We will inform you once your call has been completed.
|
||||
In the meantime if you require any further assistance please contact the Guest Services Team providing the Call ID number given below.
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:choose>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:when>
|
||||
<xsl:when test="$srtnotificatiecode='MLDAFM'">
|
||||
<xsl:choose>
|
||||
<xsl:when test="//language='NL'"><br/><br/>Beste <xsl:value-of select="voor/voornaam"/>,
|
||||
<br/><br/>Wij zijn blij u mede te delen dat de melding is afgesloten. Wij hopen dat de oplossing voor deze melding binnen uw verwachtingen passen.
|
||||
Mocht het niet naar tevredenheid zijn uitgevoerd neemt u alstublieft contact op met de <xsl:value-of select="$team_naam"/> en gebruik,
|
||||
als referentie het meldingsnummer.
|
||||
<br/><br/>Wij zijn blij u te melden dat uw melding is afgesloten. Wij hopen dat de oplossing voor deze melding binnen uw verwachtingen passen.
|
||||
Mocht het niet naar tevredenheid zijn uitgevoerd neemt u dan alstublieft contact op met het <xsl:value-of select="$team_naam"/> en gebruik,
|
||||
als referentie, het meldingsnummer.
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<br/><br/>Dear <xsl:value-of select="voor/voornaam"/>,
|
||||
@@ -112,7 +112,7 @@ Your kind words have been shared with other members of the Facilities team and w
|
||||
We hope that this resolution has met your expectations, however please contact the Guest Services Team if you require further assistance.
|
||||
Please provide your Call ID number given below and we will be more than happy to help.
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:choose>
|
||||
</xsl:when>
|
||||
<xsl:when test="$srtnotificatiecode='MLDREJ'">
|
||||
<br/><br/>Dear <xsl:value-of select="voor/voornaam"/>,
|
||||
@@ -132,7 +132,7 @@ Your kind words have been shared with other members of the Facilities team and w
|
||||
<tr>
|
||||
<td align="right" valign="top" style="padding-top:10px;">
|
||||
<b><xsl:value-of select="//lcl/FAC/bericht"/>:</b>
|
||||
</td>
|
||||
</td>
|
||||
<td colspan="3" style="padding-top:10px;">
|
||||
<xsl:call-template name="linebreaks">
|
||||
<xsl:with-param name="string" select="notes/note[key=$mx_key]/omschrijving"/>
|
||||
@@ -143,8 +143,8 @@ Your kind words have been shared with other members of the Facilities team and w
|
||||
<td colspan="4" style="padding-bottom:20px;">
|
||||
<hr/>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
<tr>
|
||||
<td width="18%"><b><xsl:value-of select="//lcl/FAC/aanvrager"/>:</b></td>
|
||||
<td width="32%"><xsl:value-of select="voor/naam_friendly"/> </td>
|
||||
@@ -272,7 +272,7 @@ Your kind words have been shared with other members of the Facilities team and w
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:for-each>
|
||||
</xsl:if>
|
||||
</xsl:if>
|
||||
<xsl:if test="opmerking!=''">
|
||||
<tr>
|
||||
<td><b><xsl:value-of select="//lcl/MLD/afhandeling"/>:</b></td>
|
||||
@@ -293,8 +293,8 @@ Your kind words have been shared with other members of the Facilities team and w
|
||||
</td>
|
||||
</tr>
|
||||
<!-- Bij het afmelden twee KTO knoppen tonen. London (U), Meppel (M) en Leiden (L)
|
||||
In de links worden meldingsnummer, vakgroeptype, vakgroep, melding en emailadres melder meegegeven
|
||||
De teksten voor UK zijn engels (duh) en de link van meppel is anders, er worden andere parameters en gegevens gebruikt -->
|
||||
In de links worden meldingsnummer, vakgroeptype, vakgroep, melding en emailadres melder meegegeven
|
||||
De teksten voor UK zijn engels (duh) en de link van meppel is anders, er worden andere parameters en gegevens gebruikt -->
|
||||
<xsl:if test="$srtnotificatiecode='MLDAFM'">
|
||||
<!-- variabele tbv Meppel. Als er geen behandelaar is dan toch iets anders meegeven -->
|
||||
<xsl:variable name="lnk_behandelaar">
|
||||
@@ -305,14 +305,14 @@ Your kind words have been shared with other members of the Facilities team and w
|
||||
</xsl:variable>
|
||||
<tr>
|
||||
<td colspan="4">
|
||||
<table>
|
||||
<table>
|
||||
<xsl:choose>
|
||||
<xsl:when test="$team_survey = 'U'">
|
||||
<tr>
|
||||
<td colspan="4" style="padding-top:20px;text-align:center">
|
||||
<b>Your opinion is very important to us. If you are satisfied with the handling of your call, no action is necessary. However if you are ....</b>
|
||||
</td>
|
||||
</tr>
|
||||
</tr>
|
||||
<tr>
|
||||
<tr>
|
||||
<td colspan="2" style="padding-top:20px;text-align:center">
|
||||
@@ -320,8 +320,8 @@ Your kind words have been shared with other members of the Facilities team and w
|
||||
</td>
|
||||
<td colspan="2" style="padding-top:20px;text-align:center">
|
||||
...not satisfied with the handling
|
||||
</td>
|
||||
</tr>
|
||||
</td>
|
||||
</tr>
|
||||
<td colspan="2" style="text-align:center">
|
||||
<xsl:element name="a">
|
||||
<xsl:attribute name="href">
|
||||
@@ -344,7 +344,7 @@ Your kind words have been shared with other members of the Facilities team and w
|
||||
<xsl:attribute name="border">0 </xsl:attribute>
|
||||
<xsl:attribute name="alt">not satisfied</xsl:attribute>
|
||||
</img>
|
||||
</xsl:element>
|
||||
</xsl:element>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -353,15 +353,15 @@ Your kind words have been shared with other members of the Facilities team and w
|
||||
</td>
|
||||
<td colspan="2" style="text-align:center">
|
||||
Click the button
|
||||
</td>
|
||||
</tr>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:when>
|
||||
<xsl:when test="$team_survey = 'L'">
|
||||
<tr>
|
||||
<td colspan="4" style="padding-top:20px;text-align:center">
|
||||
<b>Your opinion is very important to us. If you are satisfied with the handling of your call, no action is necessary. However if you are ....</b>
|
||||
</td>
|
||||
</tr>
|
||||
</tr>
|
||||
<tr>
|
||||
<tr>
|
||||
<td colspan="2" style="padding-top:20px;text-align:center">
|
||||
@@ -369,8 +369,8 @@ Your kind words have been shared with other members of the Facilities team and w
|
||||
</td>
|
||||
<td colspan="2" style="padding-top:20px;text-align:center">
|
||||
...not satisfied with the handling
|
||||
</td>
|
||||
</tr>
|
||||
</td>
|
||||
</tr>
|
||||
<td colspan="2" style="text-align:center">
|
||||
<xsl:element name="a">
|
||||
<xsl:attribute name="href">
|
||||
@@ -393,7 +393,7 @@ Your kind words have been shared with other members of the Facilities team and w
|
||||
<xsl:attribute name="border">0 </xsl:attribute>
|
||||
<xsl:attribute name="alt">not satisfied</xsl:attribute>
|
||||
</img>
|
||||
</xsl:element>
|
||||
</xsl:element>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -402,15 +402,15 @@ Your kind words have been shared with other members of the Facilities team and w
|
||||
</td>
|
||||
<td colspan="2" style="text-align:center">
|
||||
Click the button
|
||||
</td>
|
||||
</tr>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:when>
|
||||
<xsl:when test="$team_survey = 'M'">
|
||||
<tr>
|
||||
<td colspan="4" style="padding-top:20px;text-align:center">
|
||||
<b>Uw mening is heel belangrijk voor ons. Graag zien wij uw welgestelde mening over het verloop van de afhandeling van de melding. Bent u ...</b>
|
||||
</td>
|
||||
</tr>
|
||||
</tr>
|
||||
<tr>
|
||||
<tr>
|
||||
<td colspan="2" style="padding-top:20px;text-align:center">
|
||||
@@ -418,8 +418,8 @@ Your kind words have been shared with other members of the Facilities team and w
|
||||
</td>
|
||||
<td colspan="2" style="padding-top:20px;text-align:center">
|
||||
...ontevreden over de afhandeling van de melding
|
||||
</td>
|
||||
</tr>
|
||||
</td>
|
||||
</tr>
|
||||
<td colspan="2" style="text-align:center">
|
||||
<xsl:element name="a">
|
||||
<xsl:attribute name="href">
|
||||
@@ -442,7 +442,7 @@ Your kind words have been shared with other members of the Facilities team and w
|
||||
<xsl:attribute name="border">0 </xsl:attribute>
|
||||
<xsl:attribute name="alt">ontevreden</xsl:attribute>
|
||||
</img>
|
||||
</xsl:element>
|
||||
</xsl:element>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -451,17 +451,17 @@ Your kind words have been shared with other members of the Facilities team and w
|
||||
</td>
|
||||
<td colspan="2" style="text-align:center">
|
||||
Klik op bovenstaande button
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:when>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:when>
|
||||
</xsl:choose>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
</table>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template match="rapport" mode="default">
|
||||
<html>
|
||||
<xsl:choose>
|
||||
@@ -527,7 +527,7 @@ Your kind words have been shared with other members of the Facilities team and w
|
||||
</xsl:when>
|
||||
</xsl:choose>
|
||||
</html>
|
||||
</xsl:template>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
<!-- Stylus Studio meta-information - (c) 2004-2007. Progress Software Corporation. All rights reserved.
|
||||
<metaInformation>
|
||||
|
||||
0
CUST/BLCC/export/INDEXWERK/.gitignore
vendored
Normal file
20
CUST/BLCC/export/gen_export_INDEXWERK.bat
Normal file
@@ -0,0 +1,20 @@
|
||||
REM gen_export_INDEXWERK.bat
|
||||
REM
|
||||
REM BLCC
|
||||
REM
|
||||
REM Relevante BCC-contracten splitsen en indexeren volgens logica
|
||||
REM zoals HARD gecodeerd in blcc.sql!!! Dit omvat:
|
||||
REM - indexeringspercentage per 1/1/2018 van 1,1%.
|
||||
REM LET OP: Pseudo-export; exporteert feitelijk helemaal niets.
|
||||
REM
|
||||
REM Context: roep deze file aan indien nodig, of schedule deze
|
||||
REM Vereist: de randvoorwaarde voor het gebruik van gen_export
|
||||
REM
|
||||
REM $Revision$
|
||||
REM $Id$
|
||||
REM
|
||||
REM (c) 2017 Facilitor B.V., +31 (53) 4800710, info@facilitor.nl
|
||||
REM
|
||||
|
||||
REM ================================================== create exportfile
|
||||
CALL ..\..\..\utils\gen_export\gen_export.bat INDEXWERK
|
||||
@@ -20,30 +20,10 @@
|
||||
</xsl:element>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template match="@*">
|
||||
<xsl:copy/>
|
||||
<xsl:template name="xmlhtml">
|
||||
<xsl:copy-of select="/"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="text()">
|
||||
<xsl:value-of select="normalize-space(.)" />
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="xmlhtml">
|
||||
<xsl:param name="indent" select="''"/>
|
||||
<xsl:text>
</xsl:text>
|
||||
<xsl:value-of select="$indent" />
|
||||
<xsl:copy>
|
||||
<xsl:apply-templates select="@*|*|text()">
|
||||
<xsl:with-param name="indent" select="concat($indent, ' ')"/>
|
||||
</xsl:apply-templates>
|
||||
</xsl:copy>
|
||||
<xsl:if test="count(../*)>0 and ../*[last()]=.">
|
||||
<xsl:text>
</xsl:text>
|
||||
<xsl:value-of select="substring($indent,3)" />
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="pageheader">
|
||||
<div id="xmlcontent" style="display:none;">
|
||||
<xsl:call-template name="xmlhtml"/>
|
||||
|
||||
@@ -11,3 +11,13 @@ span.menukop {
|
||||
background-image: none;
|
||||
padding-left: 2px;
|
||||
}
|
||||
|
||||
.fixedfaqquestion
|
||||
{
|
||||
background-color: #ee0000;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.fixedfaqquestion {
|
||||
font-weight: bold;
|
||||
}
|
||||
10
CUST/KFSG/kfsg.css
Normal file
@@ -0,0 +1,10 @@
|
||||
/*
|
||||
* $Revision$
|
||||
* $Modtime: 15-02-12 14:31 $
|
||||
*/
|
||||
|
||||
.btn_disabled
|
||||
{
|
||||
opacity: 0.6;
|
||||
xcolor: #808080!important;
|
||||
}
|
||||
BIN
CUST/KFSG/oracle.udl
Normal file
@@ -1422,7 +1422,7 @@ function startAutoRefreshTim() {
|
||||
|
||||
<style>.pagebreak {page-break-after:always;}</style>
|
||||
|
||||
<xsl:if test="@view='logi_v_rap_ruiminsres_qrc' or @view='LOGI_V_RAP_RUIMINSRES_QRC'">
|
||||
<xsl:if test="@view='logi_v_rap_ruiminsres_qrc' or @view='LOGI_V_RAP_RUIMINSRES_QRC' or @view='logi_v_rap_meeting_qrc' or @view='LOGI_V_RAP_MEETING_QRC'">
|
||||
<xsl:variable name="p_rows" select="3"/>
|
||||
<xsl:variable name="p_cols" select="2"/>
|
||||
|
||||
|
||||
168
CUST/MARX/xsl/REMS_GetOpdrachten.xsl
Normal file
@@ -0,0 +1,168 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:s="http://www.w3.org/2003/05/soap-envelope"
|
||||
xmlns:b="http://schemas.datacontract.org/2004/07/SG.Services.Repositories"
|
||||
xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
|
||||
version="1.0">
|
||||
<xsl:output method="text" encoding="UTF-8"/>
|
||||
|
||||
|
||||
<xsl:template match="/">
|
||||
<xsl:apply-templates select="ServiceOpdracht"/>
|
||||
</xsl:template>
|
||||
<!-- REMS specials -->
|
||||
<!-- REMS stuurt kennelijk(?) geen meldingnummer mee, of kent geen melding->opdracht (1:n) structuur, dus 1 melding met n opdrachten, we hanteren (voorlopig) 1-1 relatie: 1 melding->1opdracht, oftewel externe meldingnr = extern opdrachtnr -->
|
||||
<!-- Dus mld_melding_externnr = mld_opdr_externnr = mld_opdr_ordernr -->
|
||||
<!-- b:companyId (prs_afdeling_externnr) en b:purchOrderCompanyId (mld_opdr_po_companyid)worden niet meegestuurd, we hanteren hier de waarde (default) 1 voor beide, oftewel de opdrachtgever van opdracht = waar de factuur verstuurt moet worden -->
|
||||
<!-- Mobiel telefoonnummer wordt uit telefoonnummer2 gehaald, hier ontbreekt wel semantiek, want is dit wel mobiel nummer? -->
|
||||
<!-- b:objectDescription blijft leeg, kan niet worden bepaald, is geen punt verder -->
|
||||
<!-- We gaan er eerst maar eens vanuit dat alles op VHE-nivo wordt gemeld, later evt uitbreiden naar complex of subcomplex nivo -->
|
||||
<!-- Datum velden Opdrachtdatum en Plandatum (en Opleverdatum?) zijn atypische XML date/time velden, ook nog eens niet consistent -->
|
||||
<!-- Normaal is datumnotatie YYYY-MM-DDThh:mm:ss Daarom gaan we deze voor dit moment even hard invullen op 2017-12-31, tzt vervangen door juiste datumvelden -->
|
||||
<!-- Er zijn geen eenheden in de opdrachtregels, iets als M of M2 of STUKS of iets dergelijks, daarom hier HARD op STUK gezet -->
|
||||
<!-- Prijs bestaat niey, aantal ook niet, die hard op 1 gezet -->
|
||||
<!-- Er is geen BTW percentage, hier maar op HARD op 'Hoog' zetten -->
|
||||
|
||||
<xsl:template match="ServiceOpdracht">exec_code;ax_supplier_id;mld_melding_externnr;mld_melding_omschrijving;prs_afdeling_externnr;mld_opdr_po_companyid;mld_opdr_opzichter;mld_melding_cust_name;mld_melding_cust_straat;mld_melding_cust_huisnr;mld_melding_cust_huisnr2;mld_melding_cust_postcode;mld_melding_cust_plaats;mld_melding_cust_telefoonnr;mld_melding_cust_mobielnr;mld_melding_cust_email;mld_melding_cust_object_omschr;complexnummer;pandnummer;VGEnummer;mld_melding_memo;mld_opdr_externnr;mld_opdr_ordernr;mld_opdr_datumbegin;mld_opdr_datum_plan;mld_opdr_einddatum;mld_opdr_mat_linenr;mld_opdr_mat_code;mld_opdr_mat_naam;mld_opdr_mat_eenheidcode;mld_opdr_mat_eenheid;mld_opdr_mat_prijs;mld_opdr_mat_aantal;mld_opdr_mat_btwperc;mld_opdr_mat_totaal
|
||||
<xsl:for-each select="_OpdrachtUitvoerder/Opdracht">1;<xsl:value-of select="../Uitvoerder/Code_Uitvoerder"/>;<xsl:call-template name="REMS_TaskId"/>;<xsl:call-template name="REMS_Opdracht_Omschrijving"/>;<xsl:value-of select="../../header/ERP_id"/>;<xsl:value-of select="../../header/ERP_id"/>;;<xsl:call-template name="REMS_Opdracht_Contactpersoon"/>;<xsl:call-template name="vrije_tekst"><xsl:with-param name="p_string" select="Opdracht_Locatie/Opdracht_straat"/></xsl:call-template>;<xsl:value-of select="Opdracht_Locatie/Opdracht_huisnummer"/>;<xsl:value-of select="Opdracht_Locatie/Opdracht_volgletter"/>;<xsl:call-template name="vrije_tekst"><xsl:with-param name="p_string" select="Opdracht_Locatie/Opdracht_postcode"/></xsl:call-template>;<xsl:call-template name="vrije_tekst"><xsl:with-param name="p_string" select="Opdracht_Locatie/Opdracht_plaats"/></xsl:call-template>;<xsl:call-template name="REMS_Opdracht_Contactpersoon_Tel1"/>;<xsl:call-template name="REMS_Opdracht_Contactpersoon_Tel2"/>;<xsl:call-template name="REMS_Opdracht_Contactpersoon_Email"/>;;<xsl:value-of select="../Gebouwenboom/Codes/Complex/Beheercode_volledig"/>;<xsl:value-of select="../Gebouwenboom/Codes/Subcomplex/Beheercode_volledig"/>;<xsl:value-of select="../Gebouwenboom/Codes/VHE/Beheercode_volledig"/>;<xsl:call-template name="REMS_Opdracht_Memo"/>;<xsl:call-template name="vrije_tekst"><xsl:with-param name="p_string" select="Opdrachtnummer"/></xsl:call-template>;<xsl:call-template name="REMS_TaskId"/>;<xsl:value-of select="translate(Opdrachtdatum,'zZ','')"/>;<xsl:value-of select="translate(Plandatum,'zZ','')"/>;<xsl:value-of select="translate(Opleverdatum,'zZ','')"/>;;;;;;;;;
|
||||
2;<xsl:value-of select="../Uitvoerder/Code_Uitvoerder"/>;<xsl:call-template name="REMS_TaskId"/>;;<xsl:value-of select="../../header/ERP_id"/>;<xsl:value-of select="../../header/ERP_id"/>;<xsl:call-template name="vrije_tekst"><xsl:with-param name="p_string" select="../Opzichter/OpzichterInfo/Opzichtergegevens/Naam"/></xsl:call-template>;;;;;;;;;;;<xsl:value-of select="../Gebouwenboom/Codes/Complex/Beheercode_volledig"/>;<xsl:value-of select="../Gebouwenboom/Codes/Subcomplex/Beheercode_volledig"/>;<xsl:value-of select="../Gebouwenboom/Codes/VHE/Beheercode_volledig"/>;;<xsl:call-template name="vrije_tekst"><xsl:with-param name="p_string" select="Opdrachtnummer"/></xsl:call-template>;<xsl:call-template name="REMS_TaskId"/>;;;;;;;;;;;; </xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="vrije_tekst_limiet">
|
||||
<xsl:param name="p_string"/>
|
||||
<xsl:param name="p_lengte"/>
|
||||
<xsl:call-template name="vrije_tekst"><xsl:with-param name="p_string" select="substring($p_string,1,$p_lengte)"/></xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="vrije_tekst">
|
||||
<xsl:param name="p_string"/>
|
||||
<xsl:variable name="l_string_esc_quotes"><xsl:call-template name="escape_quote"><xsl:with-param name="string" select="$p_string"/></xsl:call-template></xsl:variable>
|
||||
<xsl:variable name="l_string_esc_linebreaks"><xsl:call-template name="escape_linebreaks"><xsl:with-param name="string" select="$l_string_esc_quotes"/></xsl:call-template></xsl:variable>"<xsl:value-of select="$l_string_esc_linebreaks"/>"</xsl:template>
|
||||
|
||||
<xsl:template name="escape_quote">
|
||||
<xsl:param name="string"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="contains($string, '"')"><xsl:value-of select="substring-before($string, '"')"/>""<xsl:call-template name="escape_quote">
|
||||
<xsl:with-param name="string" select="substring-after($string, '"')"/></xsl:call-template></xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="$string"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="escape_linebreaks">
|
||||
<xsl:param name="string"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="contains($string, '
')"><xsl:value-of select="substring-before($string, '
')"/>@@<xsl:call-template name="escape_linebreaks">
|
||||
<xsl:with-param name="string" select="substring-after($string, '
')"/>
|
||||
</xsl:call-template>
|
||||
</xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="$string"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="REMS_Opdracht_Omschrijving">
|
||||
<xsl:call-template name="vrije_tekst">
|
||||
<xsl:with-param name="p_string"><xsl:value-of select="Opdracht_Omschrijving/Omschrijving_kort"/>@@<xsl:value-of select="Opdracht_Omschrijving/Omschrijving_lang"/></xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="REMS_Opdracht_Memo">
|
||||
<xsl:call-template name="vrije_tekst_limiet">
|
||||
<xsl:with-param name="p_string"><xsl:value-of select="Opdracht_Omschrijving/Werkomschrijving"/>@@<xsl:value-of select="Opdracht_Omschrijving/Opmerking_bon"/></xsl:with-param>
|
||||
<xsl:with-param name="p_lengte">3000</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="REMS_Opdracht_Contactpersoon">
|
||||
<xsl:call-template name="coalesce">
|
||||
<xsl:with-param name="p_str1" select="Opdracht_Melder/Opdracht_Melder_Contactpersoon/Naam"/>
|
||||
<xsl:with-param name="p_str2" select="Opdracht_Melder/OpdrachtMelder_Naam"/>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="REMS_Opdracht_Contactpersoon_Tel1">
|
||||
<xsl:call-template name="coalesce">
|
||||
<xsl:with-param name="p_str1" select="Opdracht_Melder/Opdracht_Melder_Contactpersoon/Telefoon"/>
|
||||
<xsl:with-param name="p_str2" select="Opdracht_Melder/OpdrachtMelder_Telefoon1"/>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="REMS_Opdracht_Contactpersoon_Tel2">
|
||||
<xsl:call-template name="coalesce">
|
||||
<xsl:with-param name="p_str1" select="Opdracht_Melder/Opdracht_Melder_Contactpersoon/TelefoonMobiel"/>
|
||||
<xsl:with-param name="p_str2" select="Opdracht_Melder/OpdrachtMelder_Telefoon2"/>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="REMS_Opdracht_Contactpersoon_Email">
|
||||
<xsl:call-template name="coalesce">
|
||||
<xsl:with-param name="p_str1" select="Opdracht_Melder/Opdracht_Melder_Contactpersoon/Email"/>
|
||||
<xsl:with-param name="p_str2" select="Opdracht_Melder/OpdrachtMelder_Email"/>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="REMS_TaskId">
|
||||
<xsl:value-of select="../../header/ERP_id"/>_<xsl:value-of select="../../header/environment"/>_<xsl:value-of select="Opdrachtnummer"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="coalesce">
|
||||
<xsl:param name="p_str1"/>
|
||||
<xsl:param name="p_str2"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="$p_str1 != ''"><xsl:value-of select="$p_str1"/></xsl:when>
|
||||
<xsl:when test="$p_str2 != ''"><xsl:value-of select="$p_str2"/></xsl:when>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="Materiaal_regel">
|
||||
<xsl:param name="p_linenr"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="$p_linenr = ''">-1</xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="$p_linenr"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="Materiaal_eenheidSidB">
|
||||
<xsl:param name="p_unit"/>
|
||||
<!--
|
||||
<xsl:choose>
|
||||
<xsl:when test="$p_unit = 'cm'">CMT</xsl:when>
|
||||
<xsl:when test="$p_unit = 'dag'">DAY</xsl:when>
|
||||
<xsl:when test="$p_unit = 'gram'">GRM</xsl:when>
|
||||
<xsl:when test="$p_unit = 'uur'">HUR</xsl:when>
|
||||
<xsl:when test="$p_unit = 'kg'">KGM</xsl:when>
|
||||
<xsl:when test="$p_unit = 'l'">LTR</xsl:when>
|
||||
<xsl:when test="$p_unit = 'min'">MIN</xsl:when>
|
||||
<xsl:when test="$p_unit = 'ml'">MLT</xsl:when>
|
||||
<xsl:when test="$p_unit = 'mm'">MMT</xsl:when>
|
||||
<xsl:when test="$p_unit = 'm2'">MTK</xsl:when>
|
||||
<xsl:when test="$p_unit = 'm3'">MTQ</xsl:when>
|
||||
<xsl:when test="$p_unit = 'm1'">MTR</xsl:when>
|
||||
<xsl:when test="$p_unit = 'st.'">PCE</xsl:when>
|
||||
<xsl:when test="$p_unit = 't'">TNE</xsl:when>
|
||||
<xsl:otherwise></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
-->
|
||||
<xsl:value-of select="$p_unit"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="Mareon_btwperc">
|
||||
<xsl:param name="p_btwperc"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="$p_btwperc = 'Hoog'">21</xsl:when>
|
||||
<xsl:when test="$p_btwperc = 'Laag'">6</xsl:when>
|
||||
<xsl:when test="$p_btwperc = 'Geen'">0</xsl:when>
|
||||
<xsl:otherwise></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
</xsl:stylesheet><!-- Stylus Studio meta-information - (c) 2004-2007. Progress Software Corporation. All rights reserved.
|
||||
<metaInformation>
|
||||
<scenarios ><scenario default="yes" name="Scenario1" userelativepaths="yes" externalpreview="no" url="serviceopdracht.xml" htmlbaseurl="" outputurl="" processortype="internal" useresolver="yes" profilemode="0" profiledepth="" profilelength="" urlprofilexml="" commandline="" additionalpath="" additionalclasspath="" postprocessortype="none" postprocesscommandline="" postprocessadditionalpath="" postprocessgeneratedext="" validateoutput="no" validator="internal" customvalidator=""/></scenarios><MapperMetaTag><MapperInfo srcSchemaPathIsRelative="yes" srcSchemaInterpretAsXML="no" destSchemaPath="" destSchemaRoot="" destSchemaPathIsRelative="yes" destSchemaInterpretAsXML="no"/><MapperBlockPosition></MapperBlockPosition><TemplateContext></TemplateContext><MapperFilter side="source"></MapperFilter></MapperMetaTag>
|
||||
</metaInformation>
|
||||
-->
|
||||
@@ -143,7 +143,7 @@
|
||||
You need to be present at this time to personally hand in your keys to our Services team.
|
||||
</p>
|
||||
<p>
|
||||
When certain data is incorrect or has not reached us yet (possible blanks above) or you would like to change the date/time of the room check, please inform us as soon as possible. Also don’t forget to submit your new address to program management.
|
||||
When certain data is incorrect or has not reached us yet (possible blanks above) or you would like to change the date/time of the room check, please inform us as soon as possible. Also don’t forget to submit your new address to program management.
|
||||
</p>
|
||||
<p>
|
||||
Ten weeks after the room check you will receive a final invoice at the forwarding address. On this invoice we will calculate rent, deposit, final cleaning and damages if applicable.
|
||||
@@ -195,8 +195,8 @@
|
||||
The room is <xsl:value-of select="ALG_SRTRUIMTE_OMSCHRIJVING"/>, and is located in the <strong><xsl:value-of select="ALG_GEBOUW_NAAM"/> building</strong> on <strong>floor <xsl:value-of select="ALG_VERDIEPING_VOLGNR"/></strong>.
|
||||
The postal address is Nieuw Nyenrode <strong>
|
||||
<xsl:call-template name="kamernummer">
|
||||
<xsl:with-param name="nr" select="ALG_RUIMTE_NR"/>
|
||||
</xsl:call-template>, <xsl:value-of select="POSTCODE_KAMER"/></strong> Breukelen.
|
||||
<xsl:with-param name="nr" select="ALG_RUIMTE_NR"/>
|
||||
</xsl:call-template>, <xsl:value-of select="POSTCODE_KAMER"/></strong> Breukelen.
|
||||
Attached to this e-mail you will find more information about the room that can help you prepare for your stay.
|
||||
</p>
|
||||
<xsl:if test="ROOMMATE_NAAM!=''">
|
||||
@@ -244,7 +244,7 @@
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</xsl:template>
|
||||
|
||||
@@ -560,11 +560,22 @@
|
||||
</xsl:if>
|
||||
</tr>
|
||||
<tr>
|
||||
<xsl:if test="PARTNERTOESLAG > 0">
|
||||
<td>Bijkomende leveringen (incl BTW)</td>
|
||||
<td style="text-align: right">€ <xsl:value-of select="format-number(SERVICEKOSTEN+PARTNERTOESLAG, '#.###,00', 'euro')"/></td>
|
||||
<xsl:if test="RENT_TO!='' or SERV_TO!='' or TEL_TO!='' or PARTNERCH_TO!=''">
|
||||
<td style="text-align: right"><xsl:value-of select="SERV_TO"/></td>
|
||||
</xsl:if>
|
||||
</xsl:if>
|
||||
</tr>
|
||||
<tr>
|
||||
<xsl:if test="PARTNERTOESLAG = 0 ">
|
||||
<td>Bijkomende leveringen (incl BTW)</td>
|
||||
<td style="text-align: right">€ <xsl:value-of select="format-number(SERVICEKOSTEN, '#.###,00', 'euro')"/></td>
|
||||
<xsl:if test="RENT_TO!='' or SERV_TO!='' or TEL_TO!='' or PARTNERCH_TO!=''">
|
||||
<td style="text-align: right"><xsl:value-of select="SERV_TO"/></td>
|
||||
</xsl:if>
|
||||
</xsl:if>
|
||||
</tr>
|
||||
<xsl:if test="TELKOSTEN > 0">
|
||||
<tr>
|
||||
@@ -575,15 +586,7 @@
|
||||
</xsl:if>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
<xsl:if test="PARTNERTOESLAG > 0">
|
||||
<tr>
|
||||
<td>Partner Charge (incl BTW)</td>
|
||||
<td style="text-align: right">€ <xsl:value-of select="format-number(PARTNERTOESLAG, '#.###,00', 'euro')"/></td>
|
||||
<xsl:if test="RENT_TO!='' or SERV_TO!='' or TEL_TO!='' or PARTNERCH_TO!=''">
|
||||
<td style="text-align: right"><xsl:value-of select="PARTNERCH_TO"/></td>
|
||||
</xsl:if>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
|
||||
<tr>
|
||||
<td><b>Totaal</b></td>
|
||||
<xsl:variable name="totaalbedrag" select="KALE_HUUR+SERVICEKOSTEN+TELKOSTEN+PARTNERTOESLAG"/>
|
||||
@@ -1006,7 +1009,7 @@
|
||||
<li>De huurprijs wordt jaarlijks op 1 juli verhoogd volgens een percentage dat wordt vastgesteld door het ministerie. De verhuurder zal de huurprijsverhoging in de maand mei, direct voorafgaande aan de indexering op 1 juli, schriftelijk aan de medewerker kenbaar maken.</li>
|
||||
<li>Wanneer er wijzigingen optreden (in de kosten) van de huur en of bijkomende leveringen en diensten als bedoeld in artikel 4 lid 2 van deze overeenkomst, zal de verhuurder de in dit artikel bedoelde vergoeding voor faciliteiten overeenkomstig aanpassen, en wel op de eerste van de maand volgend op de maand waarin de wijziging in de kosten zich heeft voorgedaan. Het nieuwe totaalbedrag door de medewerker te voldoen zal, voorafgaande aan de aanpassing van de in lid 2 bedoelde vergoeding en zo spoedig mogelijk nadat de verhuurder met de wijziging bekend is geworden, door de verhuurder schriftelijk aan de medewerker worden medegedeeld.</li>
|
||||
<li>Bij ondertekening van deze overeenkomst is medewerker aan verhuurder een waarborgsom verschuldigd van <b>€ <xsl:choose><xsl:when test="BORG!=0"><xsl:value-of select="format-number(BORG, '#.###,00', 'euro')"/></xsl:when><xsl:otherwise>0,00</xsl:otherwise></xsl:choose></b>; de waarborgsom dient aan verhuurder te zijn betaald voordat het gehuurde door medewerker wordt betrokken. Bij verlenging van de overeenkomst blijft deze gehandhaafd. Verhuurder zal over dit bedrag aan medewerker geen rente vergoeden.</li>
|
||||
<li>Bij het verlaten van het gehuurde zal er een eindschoonmaak worden verricht, dit zal verrekend worden met de borg. Dit geldt ook bij verhuizen op de Campus.</li>
|
||||
<li>Bij het verlaten van het gehuurde zal er een eindschoonmaak worden verricht, dit zal verrekend worden met de borg. Dit geldt ook bij verhuizen op de Campus.</li>
|
||||
</ol>
|
||||
|
||||
</div>
|
||||
|
||||
BIN
CUST/PCHA/iDNova.gif
Normal file
|
After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 2.2 KiB |
@@ -3,6 +3,71 @@
|
||||
<xsl:import href="../../../appl/shared/default.xsl"/>
|
||||
<xsl:import href="../../pchx/xsl/default.xsl"/>
|
||||
|
||||
|
||||
<xsl:template name="pageheader-idnova">
|
||||
<table border="0" width="100%">
|
||||
<tr>
|
||||
<td width="34%" bordercolor="#FFFFFF">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$mode='email'">
|
||||
<img src="cid:idnova.gif"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:element name="img">
|
||||
<xsl:attribute name="class">flogoimg</xsl:attribute>
|
||||
<xsl:attribute name="src">../../cust/<xsl:value-of select="//header/custId"/>/idnova.gif</xsl:attribute>
|
||||
</xsl:element>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</td>
|
||||
<td width="33%"></td>
|
||||
<td width="33%" align="right" valign="bottom" style="text-align:right" class="fheaddate">
|
||||
<b><xsl:value-of select="//lcl/FAC/printdatum"/>: </b>
|
||||
<xsl:value-of select="//header/dateTime"/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="melding" mode="full">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$mode='summary'"></xsl:when>
|
||||
<xsl:otherwise>
|
||||
<html>
|
||||
<xsl:comment>================================ MELDINGEN ==============================</xsl:comment>
|
||||
<xsl:comment>FACILITOR default XSL template for melding</xsl:comment>
|
||||
<xsl:call-template name="htmlhead"/>
|
||||
<xsl:element name="body">
|
||||
<xsl:call-template name="pageheader-idnova"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="$srtnotificatiecode = 'MLDKTO'">
|
||||
<xsl:apply-templates select="." mode="kto"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:apply-templates select="." mode="include"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:if test="$mode = 'email'">
|
||||
<tr>
|
||||
<br/>
|
||||
<td colspan="4">
|
||||
<xsl:element name="a">
|
||||
<xsl:attribute name="href">https://<xsl:value-of select="$FacilitorRoot"/>?SSO=1&<xsl:value-of select="../bookmarks/melding"/>
|
||||
<xsl:value-of select="key"/>
|
||||
</xsl:attribute>
|
||||
<xsl:value-of select="$clicktxt"/>
|
||||
</xsl:element>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
<xsl:call-template name="pagefooter"/>
|
||||
</xsl:element>
|
||||
</html>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template match="rapport">
|
||||
<style>td { border-bottom: 1px solid #ccc; padding: 4px 3px 8px 3px;}</style>
|
||||
<xsl:if test="@view='pcha_v_rap_gbs_status_info'">
|
||||
@@ -117,10 +182,97 @@
|
||||
</tr>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="@usrrap_key='441'">
|
||||
<!-- Dashboard: Op tijd -->
|
||||
|
||||
|
||||
<xsl:variable name="sorted">
|
||||
<xsl:for-each select="rapport_data/data_row">
|
||||
<xsl:sort select="HIDE_F_MARGE" order="ascending"/>
|
||||
<xsl:if test="HIDE_F_MARGE < 5">
|
||||
<xsl:sort select="HIDE_F_MARGE" order="ascending" data-type="number"/>
|
||||
<xsl:if test="HIDE_F_MARGE > 0">
|
||||
<xsl:copy-of select="."/>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:for-each select="msxml:node-set($sorted)/data_row">
|
||||
<xsl:if test="position() = 1">
|
||||
<tr>
|
||||
<th style="text-align:left">Melding</th>
|
||||
<th style="text-align:left">Omschrijving</th>
|
||||
<th style="text-align:center">Marge</th>
|
||||
<th style="text-align:right">THT tijdstip</th>
|
||||
<th style="text-align:right">THT</th>
|
||||
<th style="text-align:right">Basiskorting</th>
|
||||
<th style="text-align:right">Variabele korting</th>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
|
||||
<tr>
|
||||
<xsl:element name="td">
|
||||
<xsl:value-of select="MELDING"/>
|
||||
</xsl:element>
|
||||
<td style="text-align:left">
|
||||
<xsl:value-of select="OMSCHRIJVING"/>
|
||||
</td>
|
||||
<xsl:element name="td">
|
||||
<xsl:choose>
|
||||
<xsl:when test="HIDE_F_MARGE < 0">
|
||||
<xsl:attribute name="style">text-align:center; background-color: #cc0000; color: white; font-weight: bold</xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:when test="HIDE_F_MARGE < 0.25">
|
||||
<xsl:attribute name="style">text-align:center; background-color: orange; font-weight: bold</xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:when test="HIDE_F_MARGE < 0.5">
|
||||
<xsl:attribute name="style">text-align:center; background-color: yellow; font-weight: bold</xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:attribute name="style">text-align:center;</xsl:attribute>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:choose>
|
||||
<xsl:when test="HIDE_F_MARGE < 2 and HIDE_F_MARGE > -2 and EENHEID = 'U'">
|
||||
<xsl:value-of select="round(HIDE_F_MARGE * 60)"/> Min.
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="HIDE_F_MARGE"/> 
|
||||
<xsl:if test="EENHEID = 'U'">Uren</xsl:if>
|
||||
<xsl:if test="EENHEID = 'D'">Dagen</xsl:if>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:element>
|
||||
<td style="text-align:right">
|
||||
<xsl:value-of select="substring-before(THT_TIJDSTIP, 'T')"/> <xsl:value-of select="substring-after(THT_TIJDSTIP, 'T')"/>
|
||||
</td>
|
||||
<td style="text-align:right">
|
||||
<xsl:choose>
|
||||
<xsl:when test="THT < 1 and EENHEID = 'U'">
|
||||
<xsl:value-of select="round(THT * 60)"/> Min.
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="THT"/> 
|
||||
<xsl:if test="EENHEID = 'U'">Uren</xsl:if>
|
||||
<xsl:if test="EENHEID = 'D'">Dagen</xsl:if>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</td>
|
||||
<td style="text-align:right">
|
||||
<xsl:value-of select="BASISKORTING"/>
|
||||
</td>
|
||||
<td style="text-align:right">
|
||||
<xsl:value-of select="VARIABELEKORTING"/>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:for-each>
|
||||
</xsl:when>
|
||||
|
||||
<!-- Dashboard: Te Laat -->
|
||||
<xsl:when test="@usrrap_key='461'">
|
||||
<xsl:variable name="sorted">
|
||||
<xsl:for-each select="rapport_data/data_row">
|
||||
<xsl:sort select="TOTAAL_INDEX" order="descending" data-type="number"/>
|
||||
<xsl:if test="HIDE_F_MARGE < 0">
|
||||
<xsl:copy-of select="."/>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
@@ -148,26 +300,33 @@
|
||||
<xsl:element name="td">
|
||||
<xsl:choose>
|
||||
<xsl:when test="HIDE_F_MARGE < 0">
|
||||
<xsl:attribute name="style">text-align:center; background-color: red; color: white; font-weight: bold</xsl:attribute>
|
||||
<xsl:attribute name="style">text-align:center; background-color: #cc0000; color: white; font-weight: bold</xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:when test="HIDE_F_MARGE < 0.25">
|
||||
<xsl:comment>Kwartier</xsl:comment>
|
||||
<xsl:attribute name="style">text-align:center; background-color: orange; font-weight: bold</xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:when test="HIDE_F_MARGE < 0.5">
|
||||
<xsl:comment>Half uur</xsl:comment>
|
||||
<xsl:attribute name="style">text-align:center; background-color: yellow; font-weight: bold</xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:attribute name="style">text-align:center;</xsl:attribute>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:value-of select="MARGE"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="HIDE_F_MARGE < 2 and HIDE_F_MARGE > -2 and EENHEID = 'U'">
|
||||
<xsl:value-of select="round(HIDE_F_MARGE * 60)"/> Min.
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="HIDE_F_MARGE"/> 
|
||||
<xsl:if test="EENHEID = 'U'">Uren</xsl:if>
|
||||
<xsl:if test="EENHEID = 'D'">Dagen</xsl:if>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:element>
|
||||
<xsl:element name="td">
|
||||
<xsl:choose>
|
||||
<xsl:when test="HIDE_F_MARGE < 0">
|
||||
<xsl:attribute name="style">text-align:center; background-color: red; color: white; font-weight: bold</xsl:attribute>
|
||||
<xsl:attribute name="style">text-align:center; background-color: #cc0000;; color: white; font-weight: bold</xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:attribute name="style">text-align:center;</xsl:attribute>
|
||||
@@ -178,7 +337,7 @@
|
||||
</xsl:if>
|
||||
</xsl:element>
|
||||
<td style="text-align:right">
|
||||
<xsl:value-of select="THT_TIJDSTIP"/>
|
||||
<xsl:value-of select="substring-before(THT_TIJDSTIP, 'T')"/> <xsl:value-of select="substring-after(THT_TIJDSTIP, 'T')"/>
|
||||
</td>
|
||||
<td style="text-align:right">
|
||||
<xsl:choose>
|
||||
@@ -194,8 +353,70 @@
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:for-each>
|
||||
</xsl:when>
|
||||
</xsl:choose>
|
||||
</table>
|
||||
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="@view='pcha_v_dashboard_new'">
|
||||
|
||||
<table width="100%" class="RStable" border="1" cellpadding="2" cellspacing="2" style="border:1; border-color: #ccc">
|
||||
|
||||
<xsl:if test="count(rapport_data/data_row)=0">
|
||||
<tr>
|
||||
<td>
|
||||
<center>
|
||||
<b>Geen gegevens gevonden</b>
|
||||
</center>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
|
||||
|
||||
<xsl:variable name="sorted">
|
||||
<xsl:for-each select="rapport_data/data_row">
|
||||
<xsl:sort select="MLD_MELDING_KEY" order="descending" data-type="number"/>
|
||||
<xsl:if test="position() < 10">
|
||||
<xsl:copy-of select="."/>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:for-each select="msxml:node-set($sorted)/data_row">
|
||||
<xsl:if test="position() = 1">
|
||||
<tr>
|
||||
<th style="text-align:left">Melding</th>
|
||||
<th style="text-align:left">Melder</th>
|
||||
<th style="text-align:center">Datum</th>
|
||||
<th style="text-align:left">Omschrijving</th>
|
||||
<th style="text-align:left">Vakgroep</th>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
<tr>
|
||||
<xsl:element name="td">
|
||||
<xsl:value-of select="MLD_MELDING_KEY"/>
|
||||
</xsl:element>
|
||||
<td style="text-align:left">
|
||||
<xsl:value-of select="PRS_PERSLID_NAAM_FULL"/>
|
||||
</td>
|
||||
<td style="text-align:center">
|
||||
<xsl:value-of select="substring-before(MLD_MELDING_DATUM, 'T')"/> <xsl:value-of select="substring-after(MLD_MELDING_DATUM, 'T')"/>
|
||||
</td>
|
||||
<td style="text-align:left">
|
||||
<xsl:value-of select="INS_DISCIPLINE_OMSCHRIJVING"/>
|
||||
</td>
|
||||
<td style="text-align:left">
|
||||
<xsl:value-of select="MLD_STDMELDING_OMSCHRIJVING"/>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:for-each>
|
||||
|
||||
</table>
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
|
||||
</xsl:stylesheet>
|
||||
<!-- Stylesheet edited using Stylus Studio - (c) 2004-2009. Progress Software Corporation. All rights reserved. -->
|
||||
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 2.2 KiB |
BIN
CUST/PCHW/DGS.gif
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 2.2 KiB |
@@ -608,6 +608,69 @@
|
||||
</table>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="pageheader-dgs">
|
||||
<table border="0" width="100%">
|
||||
<tr>
|
||||
<td width="34%" bordercolor="#FFFFFF">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$mode='email'">
|
||||
<img src="cid:dgs.gif"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:element name="img">
|
||||
<xsl:attribute name="class">flogoimg</xsl:attribute>
|
||||
<xsl:attribute name="src">../../cust/<xsl:value-of select="//header/custId"/>/dgs.gif</xsl:attribute>
|
||||
</xsl:element>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</td>
|
||||
<td width="33%"></td>
|
||||
<td width="33%" align="right" valign="bottom" style="text-align:right" class="fheaddate">
|
||||
<b><xsl:value-of select="//lcl/FAC/printdatum"/>: </b>
|
||||
<xsl:value-of select="//header/dateTime"/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="melding" mode="full">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$mode='summary'"></xsl:when>
|
||||
<xsl:otherwise>
|
||||
<html>
|
||||
<xsl:comment>================================ MELDINGEN ==============================</xsl:comment>
|
||||
<xsl:comment>FACILITOR default XSL template for melding</xsl:comment>
|
||||
<xsl:call-template name="htmlhead"/>
|
||||
<xsl:element name="body">
|
||||
<xsl:call-template name="pageheader-dgs"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="$srtnotificatiecode = 'MLDKTO'">
|
||||
<xsl:apply-templates select="." mode="kto"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:apply-templates select="." mode="include"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:if test="$mode = 'email'">
|
||||
<tr>
|
||||
<br/>
|
||||
<td colspan="4">
|
||||
<xsl:element name="a">
|
||||
<xsl:attribute name="href">https://<xsl:value-of select="$FacilitorRoot"/>?SSO=1&<xsl:value-of select="../bookmarks/melding"/>
|
||||
<xsl:value-of select="key"/>
|
||||
</xsl:attribute>
|
||||
<xsl:value-of select="$clicktxt"/>
|
||||
</xsl:element>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
<xsl:call-template name="pagefooter"/>
|
||||
</xsl:element>
|
||||
</html>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="rapport">
|
||||
<style>
|
||||
td { border-bottom: 1px solid #ccc; padding: 4px 3px 8px 3px;}
|
||||
|
||||
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 2.2 KiB |
@@ -1 +1,5 @@
|
||||
cscript ..\..\..\utils\gen_import\gen_import.wsf STAM 41>>genimport.log 2>>&1
|
||||
cscript ..\..\..\utils\gen_import\gen_import.wsf STAM 41>>genimport.log 2>>&1
|
||||
|
||||
REM Importeert foto's voor smoelenboek. Naamgeving bestanden: <prs_perslid_nr>.jpg
|
||||
cscript /E:jscript smoelen.js ..\Oracle.udl d:\Apps\Facilitor\Webdav\STAM\Photos >> d:\Apps\Facilitor\Webdav\STAM\Stamicarbon photos\smoelen.log
|
||||
icacls ../flexfiles/prs /grant IUSR:(OI)(CI)M >> d:\Apps\Facilitor\Webdav\STAM\Stamicarbon photos\smoelen.log
|
||||
|
||||
127
CUST/STAM/import/smoelen.js
Normal file
@@ -0,0 +1,127 @@
|
||||
// Smoelen.js
|
||||
// Importeer foto's en plaats ze in de flexfiles in de smoelen folderstructuur
|
||||
//
|
||||
// $Revision$
|
||||
// $Id$
|
||||
//
|
||||
// Smoelen import
|
||||
//
|
||||
// Opzet in kader van GRKL#33013 hergebruikt voor STAM
|
||||
// Twee parameters: UDL voor database connectie en pad naar import(webdav) folder
|
||||
|
||||
var str = WScript.Arguments(0); // udlpath
|
||||
var imppad = WScript.Arguments(1); // pad naar import(webdav) folder
|
||||
var smlpath = "../flexfiles/PRS/P0000___/P"; // + pKey + "/SML/";
|
||||
var smlpath = "../flexfiles/PRS/"
|
||||
|
||||
var udlstr = 'File Name='+str;
|
||||
var Oracle = new ActiveXObject("ADODB.Connection");
|
||||
WScript.Echo(new Date());
|
||||
WScript.Echo(udlstr);
|
||||
Oracle.Open(udlstr);
|
||||
|
||||
var sql = "ALTER SESSION SET nls_territory='AMERICA'";
|
||||
var oRs = Oracle.Execute(sql)
|
||||
|
||||
fso = new ActiveXObject("Scripting.FileSystemObject")
|
||||
|
||||
startFolder = fso.GetFolder(imppad)
|
||||
|
||||
var fc1 = new Enumerator(startFolder.Files);
|
||||
|
||||
for (; !fc1.atEnd(); fc1.moveNext())
|
||||
{
|
||||
fil = fc1.item();
|
||||
WScript.Echo("File: " + fil);
|
||||
filename = fil.Name.toUpperCase();
|
||||
if (filename.match(/.*\.jpg$/i))
|
||||
{
|
||||
// filenames Foto_S0072.jpg
|
||||
fname = filename.substring(0, filename.length-4).toUpperCase();
|
||||
sql = "select prs_perslid_key, prs_perslid_voornaam, prs_perslid_naam"
|
||||
+ " from prs_perslid"
|
||||
+ " where prs_perslid_nr = '"+fname.replace(/\'/g,"''")+"'";
|
||||
oRs = Oracle.Execute(sql)
|
||||
if (!oRs.Eof)
|
||||
{
|
||||
WScript.Echo("Foto " + fil.name + " hoort bij key " + oRs("prs_perslid_key").Value + ": " + oRs("prs_perslid_voornaam").Value + " " + oRs("prs_perslid_naam").Value);
|
||||
var AttachPath = smlpath + subfolderKey("P", oRs("prs_perslid_key").Value) + "/SML/";
|
||||
CreateFullPath(AttachPath);
|
||||
WScript.Echo(" verplaatsen naar " + AttachPath);
|
||||
if (fso.FileExists(AttachPath + filename))
|
||||
{
|
||||
WScript.Echo(" deleting previous file");
|
||||
fso.DeleteFile(AttachPath + filename);
|
||||
}
|
||||
fso.MoveFile (fil, AttachPath);
|
||||
|
||||
// Thumb maken
|
||||
var thumbpath = AttachPath + "thumb/";
|
||||
var oIMG = new ActiveXObject("SLNKDWF.ImageConvert");
|
||||
|
||||
oIMG.Open(AttachPath + filename);
|
||||
// WScript.Echo("w=" + oIMG.Width + " h=" + oIMG.Height)
|
||||
maxPhotoW = 150;
|
||||
maxPhotoH = 200;
|
||||
if (oIMG.Width > maxPhotoW || oIMG.Height > maxPhotoH)
|
||||
{
|
||||
if (oIMG.Width / oIMG.Height > maxPhotoW / maxPhotoH)
|
||||
{
|
||||
oIMG.Height = oIMG.Height / oIMG.Width * maxPhotoW;
|
||||
oIMG.Width = maxPhotoW;
|
||||
}
|
||||
else
|
||||
{
|
||||
oIMG.Width = oIMG.Width / oIMG.Height * maxPhotoH;
|
||||
oIMG.Height = maxPhotoH;
|
||||
}
|
||||
oIMG.SaveAs(AttachPath + filename);
|
||||
}
|
||||
|
||||
// Thumb altijd
|
||||
maxThumbW = 60;
|
||||
maxThumbH = 80;
|
||||
if (oIMG.Width / oIMG.Height > maxThumbW / maxThumbH)
|
||||
{
|
||||
oIMG.Height = oIMG.Height / oIMG.Width * maxThumbW;
|
||||
oIMG.Width = maxThumbW;
|
||||
}
|
||||
else
|
||||
{
|
||||
oIMG.Width = oIMG.Width / oIMG.Height * maxThumbH;
|
||||
oIMG.Height = maxThumbH;
|
||||
}
|
||||
CreateFullPath(AttachPath + "thumb/");
|
||||
oIMG.SaveAs(AttachPath + "thumb/" + filename);
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
WScript.Echo(" skipping");
|
||||
}
|
||||
|
||||
function CreateFullPath(sPath)
|
||||
{
|
||||
var oFS = new ActiveXObject("Scripting.FileSystemObject");
|
||||
if (!oFS.FolderExists(sPath))
|
||||
{
|
||||
while (!oFS.FolderExists(sPath))
|
||||
{
|
||||
var sParent =sPath;
|
||||
while (!oFS.FolderExists(sParent))
|
||||
{
|
||||
var sChild = sParent;
|
||||
var sParent = oFS.GetParentFolderName(sChild);
|
||||
}
|
||||
oFolder = oFS.CreateFolder(sChild)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function subfolderKey(pNiveau, pKey)
|
||||
{
|
||||
var keyStr = "0000000" + pKey;
|
||||
var subfolder = pNiveau + keyStr.substr(keyStr.length-7,4) + "___/" + pNiveau + pKey;
|
||||
return subfolder;
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<xsl:value-of select="substring(translate('$Revision$', '$ ', ''), 10)"/>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="Xsrtnotificatiecode">MLD2B3</xsl:variable>
|
||||
<xsl:variable name="Xsrtnotificatiecode">MLD2B3</xsl:variable>
|
||||
|
||||
<!-- ****************************************************************************************************************** -->
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
<xsl:template match="rapport">
|
||||
|
||||
<xsl:if test="@view = 'STAM_V_INS_QRC_OBJECT'">
|
||||
<!-- <xsl:if test="@view = 'STAM_V_INS_QRC_OBJECT'">
|
||||
<xsl:for-each select="rapport_data/data_row">
|
||||
<xsl:sort select="FCLT_F_IDENTIFICATIE"/>
|
||||
<div style="background-color: black; position: relative; margin: 0; padding: 0; width: 58.5mm; height: 19.5mm; page-break-after: always; border-bottom: 1px solid white;">
|
||||
@@ -42,10 +42,40 @@
|
||||
</xsl:element>
|
||||
</div>
|
||||
</xsl:for-each>
|
||||
</xsl:if> -->
|
||||
|
||||
<xsl:if test="@view ='STAM_V_INS_QRC_OBJECT'">
|
||||
|
||||
<html>
|
||||
|
||||
<xsl:variable name="p_rows" select="8"/>
|
||||
<xsl:variable name="p_cols" select="3"/>
|
||||
|
||||
<xsl:for-each select="//facilitor/rapport/rapport_data/data_row">
|
||||
<xsl:sort select="FCLT_F_GEBOUW"/>
|
||||
<xsl:sort select="PLAATS"/>
|
||||
<xsl:if test="position() mod ($p_rows * $p_cols) = 0">
|
||||
<xsl:comment>=== Na elke p_rows*p_cols records (m*n passen op 1 A4) =====</xsl:comment>
|
||||
<xsl:call-template name="qrc_ins_new_page">
|
||||
<xsl:with-param name="p_page" select="floor(position() div ($p_rows * $p_cols))"/>
|
||||
<xsl:with-param name="p_rows" select="$p_rows"/>
|
||||
<xsl:with-param name="p_cols" select="$p_cols"/>
|
||||
</xsl:call-template>
|
||||
<div style="page-break-after:always; margin:0;padding:0"> </div>
|
||||
</xsl:if>
|
||||
<xsl:if test="position() = last() and position() mod ($p_rows * $p_cols) != 0 ">
|
||||
<xsl:comment>=== De laatste paar, zijn minder dan m*n =====</xsl:comment>
|
||||
<xsl:call-template name="qrc_ins_new_page">
|
||||
<xsl:with-param name="p_page" select="floor((position() div ($p_rows * $p_cols))+1)"/>
|
||||
<xsl:with-param name="p_rows" select="$p_rows"/>
|
||||
<xsl:with-param name="p_cols" select="$p_cols"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
|
||||
</html>
|
||||
</xsl:if>
|
||||
|
||||
|
||||
|
||||
<xsl:if test="@view = 'STAM_V_INS_QRC_RUIMTE'">
|
||||
<xsl:for-each select="rapport_data/data_row">
|
||||
<xsl:sort select="PLAATS"/>
|
||||
@@ -68,7 +98,80 @@
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="qrc_ins_new_page">
|
||||
<xsl:param name="p_page"/>
|
||||
<xsl:param name="p_rows"/>
|
||||
<xsl:param name="p_cols"/>
|
||||
<table>
|
||||
|
||||
<xsl:for-each select="//facilitor/rapport/rapport_data/data_row">
|
||||
<xsl:sort select="FCLT_F_GEBOUW"/>
|
||||
<xsl:sort select="FCLT_F_PLAATS"/>
|
||||
<xsl:if test="position() >= (($p_page - 1)*($p_rows*$p_cols)+1) and position() <= ($p_page*($p_rows*$p_cols))">
|
||||
<xsl:if test="(position() mod $p_cols) = 0">
|
||||
<xsl:comment>=== Na elke 1 records (1x1 passen op 1 regel) =====</xsl:comment>
|
||||
<xsl:call-template name="qrc_ins_new_tr">
|
||||
<xsl:with-param name="p_pos" select="position() - $p_cols + 1"/>
|
||||
<xsl:with-param name="p_cols" select="$p_cols"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
<xsl:if test="(position() = last()) and (position() mod $p_cols) != 0">
|
||||
<xsl:comment>=== Na elke 1 records (1x1 passen op 1 regel) =====</xsl:comment>
|
||||
<xsl:call-template name="qrc_ins_new_tr">
|
||||
<xsl:with-param name="p_pos" select="floor(position() div $p_cols) * $p_cols + 1"/>
|
||||
<xsl:with-param name="p_cols" select="$p_cols"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</table>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="qrc_ins_new_tr">
|
||||
<xsl:param name="p_pos"/>
|
||||
<xsl:param name="p_cols"/>
|
||||
|
||||
<tr>
|
||||
<xsl:for-each select="//facilitor/rapport/rapport_data/data_row">
|
||||
<xsl:sort select="FCLT_F_PLAATS"/>
|
||||
<xsl:if test="position() >= $p_pos and position() <= $p_pos + $p_cols - 1">
|
||||
<xsl:apply-templates select="." mode="qrc"/>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="data_row" mode="qrc">
|
||||
<!-- <table style="text-align: left; vertical-align: top; margin:0;padding:0 height: 32mm ; width: 70mm"> -->
|
||||
<td style="text-align:left; vertical-align: top; color: rgb(0, 174, 239); margin:0;padding:0; font-size: 8pt; font-weight: bold; height: 35mm ; width: 50mm">
|
||||
<br/>
|
||||
<xsl:value-of select="FCLT_F_IDENTIFICATIE"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="BRAND!=''">
|
||||
<br/>
|
||||
<xsl:value-of select="BRAND"/>
|
||||
</xsl:when>
|
||||
</xsl:choose>
|
||||
<xsl:choose>
|
||||
<xsl:when test="OBJ_TYPE!=''">
|
||||
<br/>
|
||||
<xsl:value-of select="OBJ_TYPE"/>
|
||||
</xsl:when>
|
||||
</xsl:choose>
|
||||
<br/>
|
||||
<xsl:value-of select="LOCATIE_CODE"/> - <xsl:value-of select="RUIMTENR"/>
|
||||
</td>
|
||||
<td> </td>
|
||||
<td style="text-align: left; vertical-align: top; margin:0;padding:0 height: 35mm ; width: 25mm">
|
||||
<xsl:element name="img">
|
||||
<xsl:attribute name="style"> color: rgb(0, 174, 239); height: 25mm; width: 25mm; margin:0cm; padding:0; border: none </xsl:attribute>
|
||||
<xsl:attribute name="src">
|
||||
../../appl/shared/qrcode.asp?size=2&text=/%3Fu%3D<xsl:value-of select="HIDE_F_BOOKMARK_ID"/>%26k%3D<xsl:value-of select="INS_DEEL_KEY"/>
|
||||
</xsl:attribute>
|
||||
</xsl:element>
|
||||
</td>
|
||||
|
||||
<!-- </table> -->
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
||||
@@ -52,7 +52,7 @@ var __Log;
|
||||
var __DoLog;
|
||||
var safe;
|
||||
|
||||
bes_punch_receive =
|
||||
bes_punch_receive =
|
||||
function (RequestForm, bes_srtdeel_key, item, pResult)
|
||||
{
|
||||
var result = {orderurl: ""};
|
||||
@@ -75,17 +75,66 @@ function (RequestForm, bes_srtdeel_key, item, pResult)
|
||||
{
|
||||
// STPH#31730
|
||||
// Voor elk item de eenheid (die standaard uit NEW_ITEM_UNIT wordt ingelezen) bij Medeco uit CUST-field NEW_ITEM-CUST_FIELD5 te halen...
|
||||
|
||||
|
||||
var artikel_eenheid = punchNVL("NEW_ITEM-CUST_FIELD5[#]", item, "Onbekend");
|
||||
__Log('ARTIKEL EENHEID: CUST_FIELD5[' + item + ']= ' + artikel_eenheid);
|
||||
|
||||
__Log('ARTIKEL EENHEID: CUST_FIELD5[' + item + ']= ' + artikel_eenheid);
|
||||
|
||||
if (artikel_eenheid != 'Onbekend')
|
||||
{
|
||||
sql = "UPDATE bes_srtdeel SET bes_srtdeel_eenheid = " + safe.quoted_sql(artikel_eenheid) + " WHERE bes_srtdeel_key = " + bes_srtdeel_key;
|
||||
oRs = Oracle.Execute(sql);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Alleen voor leverancier Bidfood (voorheen Deli XL) uitvoeren (prs_bedrijf_key = 360)
|
||||
if (bedr_key == 1873)
|
||||
{
|
||||
// Alleen voor eerste item de leverdatum en bestellingid opvragen. Is toch voor elk item identiek.
|
||||
if (item == 1) {
|
||||
|
||||
// Deli XL heeft 2 belangrijke gegevens, die Facilitor 1-op-1 moet overnemen en in de bestelopdracht moet terugsturen:
|
||||
// Aleverdatum en Afleveradres, 2 onafscheidelijke vaste gegevens die door DeliXL wordt bepaald (business rules).
|
||||
|
||||
// Leverdatum is in formaat yyyy-mm-dd
|
||||
var leverdatum = punchNVL("NEW_ITEM-CUST_FIELD1[#]", item, "Onbekend");
|
||||
__Log('Leverdatum: CUST_FIELD1[' + item + ']= ' + leverdatum);
|
||||
if (leverdatum != "Onbekend")
|
||||
{
|
||||
sql = "SELECT TO_DATE(" + safe.quoted_sql(leverdatum) + ", 'yyyy-mm-dd') leverdatum FROM DUAL";
|
||||
oRs = Oracle.Execute(sql);
|
||||
leverdatum = oRs("leverdatum").value;
|
||||
result.orderurl = "&leverdatum=" + (new Date(leverdatum)).getTime();
|
||||
}
|
||||
|
||||
// Afleveradres is het klantnummer, en moeten wij 'mappen' op een mld_adres record (=aflever adres)
|
||||
// Implementatie van deze mapping (vertaaltabel): delixl_klantnr -> alg_locatie kenmerk 'Deli XL Klantnr' -> alg_locatie -> mld_adres.
|
||||
// Uitgangspunt is dat alg_locatie wel een mld_adres met vinkje 'afleveradres=ja' heeft, en precies 1 (anders wordt de '1e' of een willekeurige gepakt).
|
||||
// Indien alg_locatie geen mld_adres heeft, dan wordt geen mld_adres_key meegegeven!
|
||||
|
||||
var delixl_klantnr = punchNVL("NEW_ITEM-CUST_FIELD2[#]", item, "Onbekend");
|
||||
__Log('DeliXL Klantnummer: CUST_FIELD2[' + item + ']= ' + delixl_klantnr);
|
||||
|
||||
if (delixl_klantnr != "Onbekend")
|
||||
{
|
||||
sql = "SELECT alg_onrgoed_key FROM alg_onrgoedkenmerk WHERE alg_onrgoed_niveau = 'L' and alg_kenmerk_key = 1000 and alg_onrgoedkenmerk_verwijder is NULL and alg_onrgoedkenmerk_waarde = " + safe.quoted_sql(delixl_klantnr);
|
||||
|
||||
|
||||
sql = " SELECT mld_adres_key FROM mld_adres a, alg_locatie l, alg_onrgoedkenmerk k"
|
||||
+ " WHERE alg_onrgoed_niveau = 'L' and alg_kenmerk_key = 1000 and alg_onrgoedkenmerk_verwijder is NULL and alg_onrgoedkenmerk_waarde = " + safe.quoted_sql(delixl_klantnr)
|
||||
+ " AND l.alg_locatie_key = k.alg_onrgoed_key"
|
||||
+ " AND a.alg_locatie_key = l.alg_locatie_key"
|
||||
+ " AND a.mld_adres_afleveradres = 1"
|
||||
+ " AND a.mld_adres_verwijder IS NULL";
|
||||
|
||||
oRs = Oracle.Execute(sql);
|
||||
if (!oRs.eof){
|
||||
var mld_adres_key = oRs("mld_adres_key").value;
|
||||
result.orderurl = result.orderurl + "&adres_key=" + mld_adres_key;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
149
CUST/STPH/xsl/Bidfood.xsl
Normal file
@@ -0,0 +1,149 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||||
<xsl:output method="xml" indent="yes" encoding="UTF-8"/>
|
||||
|
||||
<xsl:variable name="Rev">
|
||||
<xsl:value-of select="substring(translate('$Revision$', '$ ', ''), 10)"/>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:decimal-format name="european" decimal-separator="." grouping-separator=","/>
|
||||
|
||||
<xsl:param name="mode"/>
|
||||
|
||||
<xsl:template match="bestelopdracht">
|
||||
<!--Facilitor custom XSL template for cXML bestelopdracht-->
|
||||
<sh:StandardBusinessDocument xmlns:sh="http://www.unece.org/cefact/namespaces/StandardBusinessDocumentHeader" xmlns:eanucc="urn:ean.ucc:2" xmlns:order="urn:ean.ucc:order:2" xmlns:gdsn="urn:ean.ucc:order:2"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.unece.org/cefact/namespaces/StandardBusinessDocumentHeader ../Schemas/sbdh/StandardBusinessDocumentHeader.xsd urn:ean.ucc:2 ../Schemas/OrderProxy.xsd">
|
||||
<xsl:element name="sh:StandardBusinessDocumentHeader">
|
||||
<sh:HeaderVersion>2.2</sh:HeaderVersion>
|
||||
<sh:Sender><sh:Identifier Authority="DELIXL"><xsl:call-template name="delixl_klantnr"/></sh:Identifier></sh:Sender>
|
||||
<sh:Receiver><sh:Identifier Authority="EAN.UCC">8713018000000</sh:Identifier></sh:Receiver>
|
||||
<sh:DocumentIdentification>
|
||||
<sh:Standard>EAN.UCC</sh:Standard>
|
||||
<sh:TypeVersion>2.0.2</sh:TypeVersion>
|
||||
<sh:InstanceIdentifier>0000000000000</sh:InstanceIdentifier>
|
||||
<sh:Type>Order</sh:Type>
|
||||
<sh:MultipleType>false</sh:MultipleType>
|
||||
<sh:CreationDateAndTime><xsl:value-of select="datum/jaar"/>-<xsl:value-of select="datum/maand"/>-<xsl:value-of select="datum/dag"/>T<xsl:value-of select="datum/tijd"/>:00</sh:CreationDateAndTime>
|
||||
</sh:DocumentIdentification>
|
||||
</xsl:element>
|
||||
<xsl:element name="eanucc:message">
|
||||
<entityIdentification>
|
||||
<uniqueCreatorIdentification>
|
||||
<xsl:value-of select="id"/>
|
||||
</uniqueCreatorIdentification>
|
||||
<contentOwner>
|
||||
<gln>0000000000000</gln>
|
||||
</contentOwner>
|
||||
</entityIdentification>
|
||||
<eanucc:transaction>
|
||||
<entityIdentification>
|
||||
<uniqueCreatorIdentification>
|
||||
<xsl:value-of select="id"/>
|
||||
</uniqueCreatorIdentification>
|
||||
<contentOwner>
|
||||
<gln>0000000000000</gln>
|
||||
</contentOwner>
|
||||
</entityIdentification>
|
||||
<command>
|
||||
<eanucc:documentCommand>
|
||||
<documentCommandHeader type="ADD">
|
||||
<entityIdentification>
|
||||
<uniqueCreatorIdentification>
|
||||
<xsl:value-of select="id"/>
|
||||
</uniqueCreatorIdentification>
|
||||
<contentOwner>
|
||||
<gln>0000000000000</gln>
|
||||
</contentOwner>
|
||||
</entityIdentification>
|
||||
</documentCommandHeader>
|
||||
<documentCommandOperand>
|
||||
<xsl:element name="order:order">
|
||||
<xsl:attribute name="documentStatus">ORIGINAL</xsl:attribute>
|
||||
<xsl:attribute name="creationDateTime"><xsl:value-of select="datum/jaar"/>-<xsl:value-of select="datum/maand"/>-<xsl:value-of select="datum/dag"/>T<xsl:value-of select="datum/tijd"/>:00</xsl:attribute>
|
||||
<contentVersion><versionIdentification>2.0.2</versionIdentification></contentVersion>
|
||||
<documentStructureVersion><versionIdentification>2.0.2</versionIdentification></documentStructureVersion>
|
||||
<orderIdentification>
|
||||
<uniqueCreatorIdentification>
|
||||
<xsl:value-of select="id"/>
|
||||
</uniqueCreatorIdentification>
|
||||
<contentOwner>
|
||||
<gln>0000000000000</gln>
|
||||
</contentOwner>
|
||||
</orderIdentification>
|
||||
<orderPartyInformation>
|
||||
<seller>
|
||||
<gln>8713018000000</gln>
|
||||
</seller>
|
||||
<buyer>
|
||||
<gln>0000000000000</gln>
|
||||
</buyer>
|
||||
</orderPartyInformation>
|
||||
<orderLogisticalInformation>
|
||||
<shipToLogistics>
|
||||
<shipTo>
|
||||
<gln>0000000000000</gln>
|
||||
<additionalPartyIdentification>
|
||||
<additionalPartyIdentificationValue><xsl:call-template name="delixl_klantnr"/></additionalPartyIdentificationValue>
|
||||
<additionalPartyIdentificationType>SELLER_ASSIGNED_IDENTIFIER_FOR_A_PARTY</additionalPartyIdentificationType>
|
||||
</additionalPartyIdentification>
|
||||
</shipTo>
|
||||
</shipToLogistics>
|
||||
<orderLogisticalDateGroup>
|
||||
<requestedDeliveryDate>
|
||||
<date><xsl:value-of select="bestelling/leverdatum/jaar"/>-<xsl:value-of select="bestelling/leverdatum/maand"/>-<xsl:value-of select="bestelling/leverdatum/dag"/></date>
|
||||
</requestedDeliveryDate>
|
||||
</orderLogisticalDateGroup>
|
||||
</orderLogisticalInformation>
|
||||
<xsl:for-each select="bestelopdrachtitem">
|
||||
<xsl:sort select="bestelitem/srtdeel/artikel_nummer"/>
|
||||
<xsl:sort select="posnr"/>
|
||||
<xsl:element name="orderLineItem">
|
||||
<xsl:attribute name="unitOfMeasure"><xsl:value-of select="bestelitem/srtdeel/eenheid"/></xsl:attribute>
|
||||
<xsl:attribute name="number"><xsl:value-of select="position()"/></xsl:attribute>
|
||||
<requestedQuantity><xsl:value-of select="aantal"/></requestedQuantity>
|
||||
<tradeItemIdentification>
|
||||
<gtin>00000000000000</gtin>
|
||||
<additionalTradeItemIdentification>
|
||||
<additionalTradeItemIdentificationValue><xsl:value-of select="bestelitem/srtdeel/artikel_nummer"/></additionalTradeItemIdentificationValue>
|
||||
<additionalTradeItemIdentificationType>SUPPLIER_ASSIGNED</additionalTradeItemIdentificationType>
|
||||
</additionalTradeItemIdentification>
|
||||
</tradeItemIdentification>
|
||||
<extension>
|
||||
<value name="portieInhoud"><xsl:value-of select="substring-before(substring-after(bestelitem/srtdeel/opmerking, 'OrPoIh:'), 'EindOrPoIh')"/></value>
|
||||
<value name="portieEenheid"><xsl:value-of select="substring-before(substring-after(bestelitem/srtdeel/opmerking, 'OrPoEh:'), 'EindOrPoEh')"/></value>
|
||||
<value name="artikelSpecificatie"><xsl:value-of select="substring-before(substring-after(bestelitem/srtdeel/opmerking, 'OrSpec:'), 'EindOrSpec')"/></value>
|
||||
</extension>
|
||||
</xsl:element>
|
||||
</xsl:for-each>
|
||||
</xsl:element>
|
||||
</documentCommandOperand>
|
||||
</eanucc:documentCommand>
|
||||
</command>
|
||||
</eanucc:transaction>
|
||||
</xsl:element>
|
||||
</sh:StandardBusinessDocument>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="delixl_klantnr">
|
||||
<xsl:value-of select="afleveradres/plaats/regio/district/locatie/kenmerk[@key='1000']"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="facilitor">
|
||||
<xsl:apply-templates select="bestelopdracht"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="/">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$mode='getExtension'">
|
||||
<xsl:element name="format">
|
||||
<xsl:element name="extension">xml</xsl:element>
|
||||
</xsl:element>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:apply-templates select="facilitor"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
@@ -11,3 +11,13 @@ span.menukop {
|
||||
background-image: none;
|
||||
padding-left: 2px;
|
||||
}
|
||||
|
||||
.fixedfaqquestion
|
||||
{
|
||||
background-color: #ee0000;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.fixedfaqquestion {
|
||||
font-weight: bold;
|
||||
}
|
||||
@@ -27,7 +27,7 @@
|
||||
<tr>
|
||||
<td align="right" valign="top" style="padding-top:15px;padding-bottom:10px;">
|
||||
<b><xsl:value-of select="//lcl/FAC/bericht"/>:</b>
|
||||
</td>
|
||||
</td>
|
||||
<td colspan="3" style="padding-top:15px;padding-bottom:10px;">
|
||||
<xsl:call-template name="linebreaks">
|
||||
<xsl:with-param name="string" select="notes/note[key=$ox_key]/omschrijving"/>
|
||||
@@ -38,7 +38,7 @@
|
||||
<td colspan="4" style="padding-bottom:15px;">
|
||||
<hr/>
|
||||
</td>
|
||||
</tr>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
<tr>
|
||||
<td colspan="4" class="caption" style="padding-top:20px;padding-bottom:20px">
|
||||
@@ -53,7 +53,7 @@
|
||||
<b>Opdrachtnummer <xsl:value-of select="melding/stdmelding/discipline/srtdiscipline/prefix"/>
|
||||
<xsl:value-of select="melding/key"/>/<xsl:value-of select="bedrijfopdr_volgnr"/> verplicht vermelden op factuur</b>
|
||||
</td>
|
||||
</tr>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4" height="50px" valign="center"></td>
|
||||
</tr>
|
||||
@@ -233,7 +233,7 @@
|
||||
<xsl:value-of select="kenmerk[@volgnummer = 79]"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
</xsl:variable>
|
||||
<xsl:variable name="Kosten_9">
|
||||
<xsl:choose>
|
||||
<xsl:when test="string(number(kenmerk[@volgnummer = 84]))='NaN'">0</xsl:when>
|
||||
@@ -250,7 +250,7 @@
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
|
||||
<xsl:variable name="Kosten_verzend">
|
||||
<xsl:choose>
|
||||
<xsl:when test="string(number(kenmerk[@volgnummer = 93]))='NaN'">0</xsl:when>
|
||||
@@ -258,7 +258,7 @@
|
||||
<xsl:value-of select="kenmerk[@volgnummer = 93]"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
</xsl:variable>
|
||||
<xsl:variable name="Kosten_korting">
|
||||
<xsl:choose>
|
||||
<xsl:when test="string(number(kenmerk[@volgnummer = 94]))='NaN'">0</xsl:when>
|
||||
@@ -266,7 +266,7 @@
|
||||
<xsl:value-of select="kenmerk[@volgnummer = 94]"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
</xsl:variable>
|
||||
<xsl:variable name="Kosten_overig">
|
||||
<xsl:choose>
|
||||
<xsl:when test="string(number(kenmerk[@volgnummer = 95]))='NaN'">0</xsl:when>
|
||||
@@ -274,7 +274,7 @@
|
||||
<xsl:value-of select="kenmerk[@volgnummer = 95]"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="tot_kosten" select="$Kosten_1 + $Kosten_2 + $Kosten_3 + $Kosten_4 + $Kosten_5 + $Kosten_6 + $Kosten_7 + $Kosten_8 + $Kosten_9 + $Kosten_10 + $Kosten_verzend + $Kosten_overig - $Kosten_korting"/>
|
||||
|
||||
@@ -296,7 +296,7 @@
|
||||
<tr>
|
||||
<td align="left"><xsl:value-of select="kenmerk[@volgnummer = 22]"/></td>
|
||||
<td align="right"><xsl:value-of select="kenmerk[@volgnummer = 20]"/></td>
|
||||
<td align="right"><xsl:value-of select="kenmerk[@volgnummer = 23]"/></td>
|
||||
<td align="right"><xsl:value-of select="kenmerk[@volgnummer = 23]"/></td>
|
||||
<td style="text-align:right">€ <xsl:value-of select="format-number(kenmerk[@volgnummer = 24], '0,00', 'european')"/></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
@@ -306,7 +306,7 @@
|
||||
<tr>
|
||||
<td align="left"><xsl:value-of select="kenmerk[@volgnummer = 32]"/></td>
|
||||
<td align="right"><xsl:value-of select="kenmerk[@volgnummer = 30]"/></td>
|
||||
<td align="right"><xsl:value-of select="kenmerk[@volgnummer = 33]"/></td>
|
||||
<td align="right"><xsl:value-of select="kenmerk[@volgnummer = 33]"/></td>
|
||||
<td style="text-align:right">€ <xsl:value-of select="format-number(kenmerk[@volgnummer = 34], '0,00', 'european')"/></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
@@ -316,7 +316,7 @@
|
||||
<tr>
|
||||
<td align="left"><xsl:value-of select="kenmerk[@volgnummer = 42]"/></td>
|
||||
<td align="right"><xsl:value-of select="kenmerk[@volgnummer = 40]"/></td>
|
||||
<td align="left"><xsl:value-of select="kenmerk[@volgnummer = 43]"/></td>
|
||||
<td align="left"><xsl:value-of select="kenmerk[@volgnummer = 43]"/></td>
|
||||
<td style="text-align:right">€ <xsl:value-of select="format-number(kenmerk[@volgnummer = 44], '0,00', 'european')"/></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
@@ -326,7 +326,7 @@
|
||||
<tr>
|
||||
<td align="left"><xsl:value-of select="kenmerk[@volgnummer = 52]"/></td>
|
||||
<td align="right"><xsl:value-of select="kenmerk[@volgnummer = 50]"/></td>
|
||||
<td align="left"><xsl:value-of select="kenmerk[@volgnummer = 53]"/></td>
|
||||
<td align="left"><xsl:value-of select="kenmerk[@volgnummer = 53]"/></td>
|
||||
<td style="text-align:right">€ <xsl:value-of select="format-number(kenmerk[@volgnummer = 54], '0,00', 'european')"/></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
@@ -336,17 +336,17 @@
|
||||
<tr>
|
||||
<td align="left"><xsl:value-of select="kenmerk[@volgnummer = 62]"/></td>
|
||||
<td align="right"><xsl:value-of select="kenmerk[@volgnummer = 60]"/></td>
|
||||
<td align="left"><xsl:value-of select="kenmerk[@volgnummer = 63]"/></td>
|
||||
<td align="left"><xsl:value-of select="kenmerk[@volgnummer = 63]"/></td>
|
||||
<td style="text-align:right">€ <xsl:value-of select="format-number(kenmerk[@volgnummer = 64], '0,00', 'european')"/></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
|
||||
|
||||
<xsl:if test="kenmerk[@volgnummer= 66] != '' and kenmerk[@volgnummer= 67] != '' and kenmerk[@volgnummer= 69] != ''">
|
||||
<tr>
|
||||
<td align="left"><xsl:value-of select="kenmerk[@volgnummer = 67]"/></td>
|
||||
<td align="right"><xsl:value-of select="kenmerk[@volgnummer = 66]"/></td>
|
||||
<td align="right"><xsl:value-of select="kenmerk[@volgnummer = 68]"/></td>
|
||||
<td align="right"><xsl:value-of select="kenmerk[@volgnummer = 68]"/></td>
|
||||
<td style="text-align:right">€ <xsl:value-of select="format-number(kenmerk[@volgnummer = 69], '0,00', 'european')"/></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
@@ -356,37 +356,37 @@
|
||||
<tr>
|
||||
<td align="left"><xsl:value-of select="kenmerk[@volgnummer = 72]"/></td>
|
||||
<td align="right"><xsl:value-of select="kenmerk[@volgnummer = 71]"/></td>
|
||||
<td align="left"><xsl:value-of select="kenmerk[@volgnummer = 73]"/></td>
|
||||
<td align="left"><xsl:value-of select="kenmerk[@volgnummer = 73]"/></td>
|
||||
<td style="text-align:right">€ <xsl:value-of select="format-number(kenmerk[@volgnummer = 74], '0,00', 'european')"/></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
|
||||
|
||||
<xsl:if test="kenmerk[@volgnummer= 76] != '' and kenmerk[@volgnummer= 77] != '' and kenmerk[@volgnummer= 79] != ''">
|
||||
<tr>
|
||||
<td align="left"><xsl:value-of select="kenmerk[@volgnummer = 77]"/></td>
|
||||
<td align="right"><xsl:value-of select="kenmerk[@volgnummer = 76]"/></td>
|
||||
<td align="right"><xsl:value-of select="kenmerk[@volgnummer = 78]"/></td>
|
||||
<td align="right"><xsl:value-of select="kenmerk[@volgnummer = 78]"/></td>
|
||||
<td style="text-align:right">€ <xsl:value-of select="format-number(kenmerk[@volgnummer = 79], '0,00', 'european')"/></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
|
||||
|
||||
<xsl:if test="kenmerk[@volgnummer= 81] != '' and kenmerk[@volgnummer= 82] != '' and kenmerk[@volgnummer= 84] != ''">
|
||||
<tr>
|
||||
<td align="left"><xsl:value-of select="kenmerk[@volgnummer = 82]"/></td>
|
||||
<td align="right"><xsl:value-of select="kenmerk[@volgnummer = 81]"/></td>
|
||||
<td align="right"><xsl:value-of select="kenmerk[@volgnummer = 83]"/></td>
|
||||
<td align="right"><xsl:value-of select="kenmerk[@volgnummer = 83]"/></td>
|
||||
<td style="text-align:right">€ <xsl:value-of select="format-number(kenmerk[@volgnummer = 84], '0,00', 'european')"/></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
|
||||
|
||||
<xsl:if test="kenmerk[@volgnummer= 86] != '' and kenmerk[@volgnummer= 87] != '' and kenmerk[@volgnummer= 89] != ''">
|
||||
<tr>
|
||||
<td align="left"><xsl:value-of select="kenmerk[@volgnummer = 87]"/></td>
|
||||
<td align="right"><xsl:value-of select="kenmerk[@volgnummer = 86]"/></td>
|
||||
<td align="right"><xsl:value-of select="kenmerk[@volgnummer = 88]"/></td>
|
||||
<td align="right"><xsl:value-of select="kenmerk[@volgnummer = 88]"/></td>
|
||||
<td style="text-align:right">€ <xsl:value-of select="format-number(kenmerk[@volgnummer = 89], '0,00', 'european')"/></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
@@ -395,9 +395,9 @@
|
||||
<xsl:if test="kenmerk[@volgnummer= 93] != '' or kenmerk[@volgnummer= 94] != '' or kenmerk[@volgnummer= 95] != ''">
|
||||
<tr>
|
||||
<td colspan="4" height="10px"/>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
|
||||
</tr>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="kenmerk[@volgnummer= 93] != ''">
|
||||
<tr>
|
||||
<td colspan="3" align="right"><xsl:value-of select="kenmerk[@volgnummer = 93]/@naam"/></td>
|
||||
@@ -411,14 +411,14 @@
|
||||
<td style="text-align:right">€ <xsl:value-of select="format-number(kenmerk[@volgnummer = 95], '0,00', 'european')"/></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
</xsl:if>
|
||||
<xsl:if test="kenmerk[@volgnummer= 94] != ''">
|
||||
<tr>
|
||||
<td colspan="3" align="right">Korting</td>
|
||||
<td style="text-align:right">€ <xsl:value-of select="format-number(kenmerk[@volgnummer = 94], '0,00', 'european')"/></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
</xsl:if>
|
||||
|
||||
<tr>
|
||||
<td colspan="4" height="20px" valign="center">
|
||||
@@ -474,7 +474,7 @@
|
||||
<tr>
|
||||
<td align="right" valign="top" style="padding-top:15px;padding-bottom:10px;">
|
||||
<b><xsl:value-of select="//lcl/FAC/bericht"/>:</b>
|
||||
</td>
|
||||
</td>
|
||||
<td colspan="3" style="padding-top:15px;padding-bottom:10px;">
|
||||
<xsl:call-template name="linebreaks">
|
||||
<xsl:with-param name="string" select="notes/note[key=$ox_key]/omschrijving"/>
|
||||
@@ -485,8 +485,8 @@
|
||||
<td colspan="4" style="padding-bottom:15px;">
|
||||
<hr/>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
<tr>
|
||||
<td width="16%"/>
|
||||
<td width="34%"/>
|
||||
@@ -670,6 +670,7 @@
|
||||
|
||||
|
||||
<xsl:template match="bestelopdracht" mode="include">
|
||||
|
||||
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
|
||||
<TR>
|
||||
<TD WIDTH="40" ROWSPAN="30" ID="LINKERMARGE"></TD>
|
||||
@@ -681,39 +682,43 @@
|
||||
<b><xsl:value-of select="//lcl/BES/inkooporder"/></b>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="border-style:solid;border-width:1px;" colspan="5">
|
||||
<b>Geachte heer / mevrouw,</b><br/><br/>
|
||||
Hierbij verstrekken wij u onderstaande opdracht voor uw product(en) en/of dienst(en). Graag ontvangen wij een ontvangstbevestiging voorzien van de verwachte
|
||||
levertijd. Vriendelijk verzoek om de pakbon en factuur te voorzien van het volgende referentienummer: (<b><xsl:value-of select="id"/></b>). De factuur kunt u digitaal sturen naar <b>crediteurenadministratie@vogellanden.nl.</b><br/><br/>
|
||||
Bij vragen en/of onduidelijkheden kunt u contact opnemen met het Facilitair bedrijfsbureau.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5" style="height:30px;"/>
|
||||
<td colspan="5" style="height:50px;"/>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" style="width:47%">
|
||||
<b><xsl:value-of select="//lcl/BES/factuur_aan"/>:</b>
|
||||
<b>Contactgegevens</b><br/>
|
||||
<b>Afdeling:</b>Facilitair bedrijfsbureau <br/>
|
||||
<b>Telefoon:</b> 038-4981460 <br/>
|
||||
<b>E-mail:</b> <A HREF="mailto:inkoop@vogellanden.nl">inkoop@vogellanden.nl</A><br/>
|
||||
</td>
|
||||
<td style="width:6%"></td>
|
||||
<td colspan="2" style="width:47%">
|
||||
<b><xsl:value-of select="//lcl/BES/leverancier"/>:</b>
|
||||
<b><xsl:value-of select="//lcl/BES/leverancier"/>:</b> 
|
||||
<xsl:value-of select="bedrijf/naam"/><br/><br/>
|
||||
<b>Aanvraagnummer:</b><xsl:value-of select="bestelling/key"/><br/>
|
||||
<b>Opdrachtnummer:</b><xsl:value-of select="id"/><br/>
|
||||
<b>Orderdatum:</b><xsl:value-of select="bestelling/datum/datum"/><br/>
|
||||
<b>Gewenste afleverdatum:</b><xsl:value-of select="bestelling/leverdatum/datum"/><br/>
|
||||
<b/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<xsl:value-of select="factuuradres/naam"/>
|
||||
<br/>
|
||||
<xsl:value-of select="factuuradres/post_adres"/>
|
||||
<br/>
|
||||
<xsl:value-of select="factuuradres/post_postcode"/> 
|
||||
<xsl:value-of select="factuuradres/post_plaats"/>
|
||||
<br/>
|
||||
<xsl:value-of select="factuuradres/post_land"/>
|
||||
|
||||
</td>
|
||||
<td/>
|
||||
<td colspan="2">
|
||||
<xsl:value-of select="bedrijf/naam"/>
|
||||
<br/>
|
||||
<xsl:value-of select="bedrijf/post_adres"/>
|
||||
<br/>
|
||||
<xsl:value-of select="bedrijf/post_postcode"/> 
|
||||
<xsl:value-of select="bedrijf/post_plaats"/>
|
||||
<br/>
|
||||
<xsl:value-of select="bedrijf/post_land"/>
|
||||
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -721,43 +726,18 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<b><xsl:value-of select="//lcl/FAC/contactgegevens"/>:</b>
|
||||
|
||||
</td>
|
||||
<td/>
|
||||
<td colspan="2">
|
||||
<b/>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" style="vertical-align:top">
|
||||
<b><xsl:value-of select="//lcl/BES/besteller"/>: </b>
|
||||
<xsl:value-of select="bestelling/aanvrager/naam_full"/>
|
||||
<br/>
|
||||
<b><xsl:value-of select="//lcl/FAC/e-mail"/>: </b>
|
||||
<xsl:value-of select="bestelling/aanvrager/email"/>
|
||||
<br/>
|
||||
<b><xsl:value-of select="//lcl/FAC/telefoon"/>: </b>
|
||||
<xsl:value-of select="bestelling/aanvrager/telefoonnr"/>
|
||||
<br/>
|
||||
<b><xsl:value-of select="//lcl/FAC/kostenplaats"/>: </b>
|
||||
<xsl:value-of select="bestelling/kostenplaats/nr"/>
|
||||
<br/>
|
||||
<b><xsl:value-of select="//lcl/FAC/werkplek"/>: </b>
|
||||
<xsl:value-of select="bestelling/plaats"/>
|
||||
</td>
|
||||
|
||||
<td/>
|
||||
<td colspan="2" style="vertical-align:top">
|
||||
<b><xsl:value-of select="//lcl/BES/aanvraagnummers"/>: </b>
|
||||
<xsl:value-of select="bestelling/key"/>
|
||||
<br/>
|
||||
<b><xsl:value-of select="//lcl/BES/opdrachtnummer"/>: </b>
|
||||
<xsl:value-of select="id"/>
|
||||
<br/>
|
||||
<b><xsl:value-of select="//lcl/BES/orderdatum"/>: </b>
|
||||
<xsl:value-of select="datum/datum"/>
|
||||
<br/>
|
||||
<b><xsl:value-of select="//lcl/BES/gewenste_afleverdatum"/>: </b>
|
||||
<xsl:value-of select="bestelling/leverdatum/datum"/>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -768,30 +748,25 @@
|
||||
<b><xsl:value-of select="//lcl/BES/afleveradres"/>:</b>
|
||||
</td>
|
||||
<td/>
|
||||
<td colspan="2">
|
||||
<b/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" style="vertical-align:top">
|
||||
<xsl:value-of select="afleveradres/naam"/>
|
||||
<br/>
|
||||
<xsl:value-of select="afleveradres/bezoek_adres"/>
|
||||
<br/>
|
||||
<xsl:value-of select="afleveradres/bezoek_postcode"/> 
|
||||
<xsl:value-of select="afleveradres/bezoek_plaats"/>
|
||||
<br/>
|
||||
<xsl:value-of select="afleveradres/bezoek_land"/>
|
||||
</td>
|
||||
<td/>
|
||||
<td colspan="2" style="vertical-align:top">
|
||||
<xsl:for-each select="bestelling/kenmerk[@type!='L' and @type!='l' and @type!='Q']">
|
||||
<xsl:for-each select="bestelling/kenmerk[@key='283']">
|
||||
<b>
|
||||
<xsl:value-of select="@naam"/>: </b>
|
||||
<xsl:value-of select="."/>
|
||||
<br/>
|
||||
</xsl:for-each> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" style="vertical-align:top">
|
||||
Goederenontvangst <br/>
|
||||
Hyacinthstraat 66a<br/>
|
||||
8013 XZ Zwolle<br/>
|
||||
Nederland<br/>
|
||||
</td>
|
||||
<td/>
|
||||
<td colspan="2" style="vertical-align:top">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5" style="height:20px;"/>
|
||||
</tr>
|
||||
@@ -799,11 +774,11 @@
|
||||
<TD colspan="5">
|
||||
<TABLE cellpadding="0" cellspacing="0" border="1" bordercolor="#303030" width="95%">
|
||||
<tr>
|
||||
<th style="width:13%"><xsl:value-of select="//lcl/BES/artikelnr"/></th>
|
||||
<th style="width:13%"><xsl:value-of select="//lcl/BES/artikelnr"/></th>
|
||||
<th style="width:38%"><xsl:value-of select="//lcl/FAC/omschrijving"/></th>
|
||||
<th style="width:10%; text-align:right"><xsl:value-of select="//lcl/FAC/aantal"/></th>
|
||||
<th style="width:10%; text-align:right"><xsl:value-of select="//lcl/FAC/aantal"/></th>
|
||||
<th style="width:15%"><xsl:value-of select="//lcl/FAC/eenheid"/></th>
|
||||
<th style="width:12%; text-align:right"><xsl:value-of select="//lcl/FAC/prijs"/></th>
|
||||
<th style="width:12%; text-align:right"><xsl:value-of select="//lcl/FAC/prijs"/> (Excl. BTW)</th>
|
||||
<th style="width:12%; text-align:right"><xsl:value-of select="//lcl/FAC/totaal"/></th>
|
||||
</tr>
|
||||
<xsl:for-each select="bestelopdrachtitem">
|
||||
@@ -811,7 +786,7 @@
|
||||
<tr>
|
||||
<td class="result">
|
||||
<xsl:value-of select="bestelitem/srtdeel/artikel_nummer"/>
|
||||
</td>
|
||||
</td>
|
||||
<td class="result">
|
||||
<xsl:value-of select="bestelitem/srtdeel/omschrijving"/> 
|
||||
<xsl:for-each select="bestelitem/kenmerk">
|
||||
@@ -820,7 +795,7 @@
|
||||
</td>
|
||||
<td class="result" style="text-align:right">
|
||||
<xsl:value-of select="aantal"/>
|
||||
</td>
|
||||
</td>
|
||||
<td class="result">
|
||||
<xsl:value-of select="bestelitem/srtdeel/eenheid"/>
|
||||
</td>
|
||||
@@ -863,7 +838,7 @@
|
||||
<td colspan="5" style="height:40"/>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5" style="text-align:center; font-size:9px">Op leveringen die gedaan zijn op basis van dit formulier zijn de algemene inkoopvoorwaarden van het NVZ van toepassing. Indien sprake is van een mantelovereenkomst geschiedt deze order onder de bepalingen uit de mantelovereenkomst. Facturen zonder vermelding van het opdrachtnummer (<xsl:value-of select="id"/>)<xsl:value-of select="//lcl/BES/order_disclaimer2"/></td>
|
||||
<td colspan="5" style="text-align:center; font-size:9px">Op leveringen die gedaan zijn op basis van dit formulier zijn de meest recente algemene inkoopvoorwaarden gezondheidszorg (AIVG) van toepassing. Indien sprake is van een mantelovereenkomst geschiedt deze order onder de bepalingen uit de mantelovereenkomst. Facturen zonder vermelding van het opdrachtnummer (<xsl:value-of select="id"/>)worden niet in behandeling genomen.</td>
|
||||
</tr>
|
||||
</table>
|
||||
</TD>
|
||||
@@ -873,6 +848,58 @@
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template match="bestelopdracht" mode="full">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$mode='summary'"></xsl:when>
|
||||
<xsl:otherwise>
|
||||
<html>
|
||||
<xsl:comment>================================ BESTELOPDRACHTEN ==============================</xsl:comment>
|
||||
<xsl:comment>FACILITOR default XSL template for bestelopdracht</xsl:comment>
|
||||
<xsl:call-template name="htmlhead"/>
|
||||
<xsl:element name="body">
|
||||
<xsl:if test="$mode!='email'">
|
||||
<xsl:attribute name="onload">window.print();</xsl:attribute>
|
||||
</xsl:if>
|
||||
<xsl:call-template name="pageheader2"/>
|
||||
<xsl:apply-templates select="." mode="include"/>
|
||||
<xsl:call-template name="pagefooter"/>
|
||||
</xsl:element>
|
||||
</html>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="pageheader2">
|
||||
<table border="0" width="100%">
|
||||
<tr>
|
||||
<td width="34%" bordercolor="#FFFFFF">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$mode='email'">
|
||||
<img src="cid:tmpl_logo.gif"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:element name="img">
|
||||
<xsl:attribute name="class">flogoimg</xsl:attribute>
|
||||
<xsl:attribute name="src">../../cust/<xsl:value-of select="//header/custId"/>/tmpl_logo.gif</xsl:attribute>
|
||||
</xsl:element>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</td>
|
||||
<td width="33%"></td>
|
||||
<td width="33%" align="right" valign="bottom" style="text-align:right" class="fheaddate">
|
||||
<b><xsl:value-of select="//lcl/FAC/printdatum"/>: </b>
|
||||
<xsl:value-of select="//header/dateTime"/><br/>
|
||||
KvK-nummer: 41022329<br/>
|
||||
Btw-identificatienummer: NL002933457B01<br/>
|
||||
Bankindentificatiecode (BIC): INGBNL2A<br/>
|
||||
IBAN: NL27INGB0681635800<br/>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!-- ****************************************************************************************************************** -->
|
||||
|
||||
<!-- Hier komen de USER-rapportage functies -->
|
||||
|
||||
1
CUST/WZUV/import/gen_import_einvoice_liander.bat
Normal file
@@ -0,0 +1 @@
|
||||
cscript ..\..\..\utils\gen_import\gen_import.wsf WZUV FIN_FACT_LIANDER >>%0.log 2>>&1
|
||||
1
CUST/WZUV/import/gen_import_einvoice_randstad.bat
Normal file
@@ -0,0 +1 @@
|
||||
cscript ..\..\..\utils\gen_import\gen_import.wsf WZUV FIN_FACT_RANDSTAD >>%0.log 2>>&1
|
||||
84
CUST/WZUV/xsl/TU.xsl
Normal file
@@ -0,0 +1,84 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||||
<xsl:output method="xml" indent="yes" encoding="UTF-8"/>
|
||||
|
||||
<xsl:decimal-format name="european" decimal-separator="." grouping-separator=","/>
|
||||
|
||||
<xsl:param name="mode"/>
|
||||
|
||||
<xsl:template match="bestelopdracht">
|
||||
|
||||
<Order xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<!--Type 220 wil zeggen: order -->
|
||||
<OrderType>220</OrderType>
|
||||
<OrderNumber><xsl:value-of select="id"/></OrderNumber>
|
||||
<OrderDate><xsl:value-of select="datum/jaar"/>-<xsl:value-of select="datum/maand"/>-<xsl:value-of select="datum/dag"/></OrderDate>
|
||||
<OrderTime><xsl:value-of select="datum/tijd"/>:00</OrderTime>
|
||||
<!-- Scenariotype X1 is deelleveringen niet toestaan, X2 is deelleveringen wel toestaan -->
|
||||
<ScenarioTypeCode>X2</ScenarioTypeCode>
|
||||
<!-- komt misschien nog van pas: vrije tekst per order -->
|
||||
<FreeText>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</FreeText>
|
||||
<DeliveryDateTimeInformation>
|
||||
<RequiredDeliveryDate><xsl:value-of select="bestelling/leverdatum/jaar"/>-<xsl:value-of select="bestelling/leverdatum/maand"/>-<xsl:value-of select="bestelling/leverdatum/dag"/></RequiredDeliveryDate>
|
||||
</DeliveryDateTimeInformation>
|
||||
<Buyer>
|
||||
<GLN> </GLN>
|
||||
<Name>WZU Veluwe</Name>
|
||||
<ContactInformation>
|
||||
<ContactPersonName><xsl:value-of select="bestelling/aanvrager/naam_full"/></ContactPersonName>
|
||||
</ContactInformation>
|
||||
</Buyer>
|
||||
<Supplier>
|
||||
<GLN><xsl:value-of select="bedrijf/kenmerk[@naam='GLN']"/></GLN>
|
||||
</Supplier>
|
||||
<DeliveryParty>
|
||||
<StreetAndNumber><xsl:value-of select="bestelling/afleveradres/bezoek_adres"/></StreetAndNumber>
|
||||
<City><xsl:value-of select="bestelling/afleveradres/bezoek_plaats"/></City>
|
||||
<PostalCode><xsl:value-of select="bestelling/afleveradres/bezoek_postcode"/></PostalCode>
|
||||
<Country><xsl:value-of select="bestelling/afleveradres/bezoek_land"/></Country>
|
||||
<LocationDescription><xsl:value-of select="bestelling/afleveradres/naam"/></LocationDescription>
|
||||
</DeliveryParty>
|
||||
<xsl:for-each select="bestelopdrachtitem">
|
||||
<OrderLine>
|
||||
<LineNumber><xsl:value-of select="posnr"/></LineNumber>
|
||||
<OrderedQuantity><xsl:value-of select="aantal"/></OrderedQuantity>
|
||||
<!-- TU geeft een eenheid van C62, dat is niet conform ketenstandaard -->
|
||||
<OrderedQuantityMeasureUnitCode><xsl:value-of select="bestelitem/strdeel/eenheid"/></OrderedQuantityMeasureUnitCode>
|
||||
<LineIdentitfication><xsl:value-of select="posnr"/></LineIdentitfication>
|
||||
<TradeItemIdentification>
|
||||
<SuppliersTradeItemIdentification><xsl:value-of select="bestelitem/srtdeel/artikel_nummer"/></SuppliersTradeItemIdentification>
|
||||
<AdditionalItemIdentification>
|
||||
<TradeItemDescription><xsl:value-of select="omschrijving"/></TradeItemDescription>
|
||||
</AdditionalItemIdentification>
|
||||
</TradeItemIdentification>
|
||||
<!--- vrije tekst per orderregel...komt misschien nog van pas -->
|
||||
<FreeText>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</FreeText>
|
||||
</OrderLine>
|
||||
</xsl:for-each>
|
||||
</Order>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template match="facilitor">
|
||||
<xsl:apply-templates select="bestelopdracht"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="/">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$mode='getExtension'">
|
||||
<xsl:element name="format">
|
||||
<xsl:element name="extension">xml</xsl:element>
|
||||
</xsl:element>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:apply-templates select="facilitor"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
<!-- Stylus Studio meta-information - (c) 2004-2007. Progress Software Corporation. All rights reserved.
|
||||
<metaInformation>
|
||||
<scenarios ><scenario default="yes" name="Scenario1" userelativepaths="yes" externalpreview="no" url="file:///y:/Klantspecifiek/WZUV/9. Inkoop en inkoopfacturen/TU/Proef order TU.xml" htmlbaseurl="" outputurl="" processortype="saxon8" useresolver="yes" profilemode="0" profiledepth="" profilelength="" urlprofilexml="" commandline="" additionalpath="" additionalclasspath="" postprocessortype="none" postprocesscommandline="" postprocessadditionalpath="" postprocessgeneratedext="" validateoutput="no" validator="internal" customvalidator="" ><advancedProp name="sInitialMode" value=""/><advancedProp name="bXsltOneIsOkay" value="true"/><advancedProp name="bSchemaAware" value="true"/><advancedProp name="bXml11" value="false"/><advancedProp name="iValidation" value="0"/><advancedProp name="bExtensions" value="true"/><advancedProp name="iWhitespace" value="0"/><advancedProp name="sInitialTemplate" value=""/><advancedProp name="bTinyTree" value="true"/><advancedProp name="bWarnings" value="true"/><advancedProp name="bUseDTD" value="false"/><advancedProp name="iErrorHandling" value="fatal"/></scenario></scenarios><MapperMetaTag><MapperInfo srcSchemaPathIsRelative="yes" srcSchemaInterpretAsXML="no" destSchemaPath="" destSchemaRoot="" destSchemaPathIsRelative="yes" destSchemaInterpretAsXML="no"/><MapperBlockPosition></MapperBlockPosition><TemplateContext></TemplateContext><MapperFilter side="source"></MapperFilter></MapperMetaTag>
|
||||
</metaInformation>
|
||||
-->
|
||||
16
CUST/WZUV/xsl/fin_factuur_liander.xsl
Normal file
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
|
||||
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:ccts="urn:oasis:names:specification:ubl:schema:xsd:CoreComponentParameters-2"
|
||||
xmlns:ext="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2" xmlns:qdt="urn:oasis:names:specification:ubl:schema:xsd:QualifiedDatatypes-2"
|
||||
xmlns:stat="urn:oasis:names:specification:ubl:schema:xsd:DocumentStatusCode-1.0" xmlns:udt="urn:un:unece:uncefact:data:draft:UnqualifiedDataTypesSchemaModule:2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0">
|
||||
<xsl:output method="text" encoding="UTF-8"/>
|
||||
|
||||
|
||||
<xsl:template match="/">
|
||||
<xsl:comment>factuurnr;factuurdatum;opdrachtnr;omschrijving;bedrag;btwperc;btwbedrag;pdf</xsl:comment>
|
||||
<xsl:for-each select="//cac:InvoiceLine">
|
||||
<xsl:value-of select="../cbc:ID"/>;<xsl:value-of select="../cbc:IssueDate"/>;<xsl:value-of select="cac:OrderLineReference/cac:OrderReference/cbc:ID"/>;"<xsl:value-of select="cac:Item/cbc:Description"/>";<xsl:value-of select="cbc:LineExtensionAmount"/>;<xsl:value-of select="cac:TaxTotal/cac:TaxSubtotal/cbc:Percent"/>;<xsl:value-of select="cac:TaxTotal/cac:TaxSubtotal/cbc:TaxAmount"/>;<xsl:value-of select="../cac:AdditionalDocumentReference/cac:Attachment/cbc:EmbeddedDocumentBinaryObject/@filename"/>;
</xsl:for-each>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
|
||||
|
||||
30
CUST/WZUV/xsl/fin_factuur_randstad.xsl
Normal file
@@ -0,0 +1,30 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<xsl:output method="text" encoding="UTF-8"/>
|
||||
|
||||
<xsl:template match="/">
|
||||
<xsl:comment>factuurnr;factuurdatum;externe partij id;kostenplaats;omschrijving;bedrag;btwperc;btwbedrag</xsl:comment>
|
||||
<xsl:for-each select="Invoice/Line/Line">
|
||||
<xsl:value-of select="../../Header/DocumentIds/DocumentId/Id"/>;
|
||||
<xsl:value-of select="../../Header/DocumentDateTime"/>;
|
||||
<xsl:value-of select="../../Header/Parties/SupplierParty/PartyId/Id"/>;
|
||||
<xsl:value-of select="../../Header/UserArea/StaffingAdditionalData/CustomerReportingRequirements/DepartmentCode"/>;
|
||||
<xsl:value-of select="Description"/>;
|
||||
<xsl:value-of select="Tax/TaxBaseAmount"/>;
|
||||
<xsl:value-of select="Tax/PercentQuantity"/>;
|
||||
<xsl:value-of select="Tax/TaxAmount"/>;
|
||||
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
||||
|
||||
<!-- Stylus Studio meta-information - (c) 2004-2007. Progress Software Corporation. All rights reserved.
|
||||
<metaInformation>
|
||||
<scenarios ><scenario default="yes" name="Scenario1" userelativepaths="yes" externalpreview="no" url="file:///z:/Project/Implementaties/Customers/WZUV/9. Inkoop en inkoopfacturen/Randstad/factuur-30303877.xml" htmlbaseurl="" outputurl="" processortype="saxon8" useresolver="yes" profilemode="0" profiledepth="" profilelength="" urlprofilexml="" commandline="" additionalpath="" additionalclasspath="" postprocessortype="none" postprocesscommandline="" postprocessadditionalpath="" postprocessgeneratedext="" validateoutput="no" validator="internal" customvalidator="" ><advancedProp name="sInitialMode" value=""/><advancedProp name="bXsltOneIsOkay" value="true"/><advancedProp name="bSchemaAware" value="true"/><advancedProp name="bXml11" value="false"/><advancedProp name="iValidation" value="0"/><advancedProp name="bExtensions" value="true"/><advancedProp name="iWhitespace" value="0"/><advancedProp name="sInitialTemplate" value=""/><advancedProp name="bTinyTree" value="true"/><advancedProp name="bWarnings" value="true"/><advancedProp name="bUseDTD" value="false"/><advancedProp name="iErrorHandling" value="fatal"/></scenario></scenarios><MapperMetaTag><MapperInfo srcSchemaPathIsRelative="yes" srcSchemaInterpretAsXML="no" destSchemaPath="" destSchemaRoot="" destSchemaPathIsRelative="yes" destSchemaInterpretAsXML="no" ><SourceSchema srcSchemaPath="file:///z:/Project/Implementaties/Customers/WZUV/9. Inkoop en inkoopfacturen/Randstad/factuur-30303877.xml" srcSchemaRoot="Invoice" AssociatedInstance="" loaderFunction="document" loaderFunctionUsesURI="no"/></MapperInfo><MapperBlockPosition><template match="/"><block path="xsl:for-each" x="440" y="0"/><block path="xsl:for-each/xsl:value-of" x="390" y="0"/><block path="" x="390" y="40"/><block path="xsl:for-each/xsl:value-of[1]" x="310" y="0"/><block path="xsl:for-each/xsl:value-of[2]" x="230" y="0"/><block path="xsl:for-each/xsl:value-of[3]" x="150" y="0"/><block path="xsl:for-each/xsl:value-of[4]" x="70" y="0"/><block path="xsl:for-each/xsl:value-of[5]" x="390" y="40"/><block path="xsl:for-each/xsl:value-of[6]" x="350" y="40"/><block path="xsl:for-each/xsl:value-of[7]" x="270" y="40"/></template></MapperBlockPosition><TemplateContext></TemplateContext><MapperFilter side="source"></MapperFilter></MapperMetaTag>
|
||||
</metaInformation>
|
||||
-->
|
||||
@@ -11,7 +11,7 @@
|
||||
<xsl:element name="melding">
|
||||
<xsl:attribute name="key">
|
||||
<xsl:value-of select="melding_key" />/<xsl:value-of select="bedrijfopdr_volgnr" /></xsl:attribute>
|
||||
<xsl:attribute name="type">insert</xsl:attribute>
|
||||
<xsl:attribute name="type">insert</xsl:attribute>
|
||||
<xsl:choose>
|
||||
<xsl:when test="tracking/track[@code='ORDNEW']">
|
||||
<datum><xsl:value-of select="tracking/track[@code='ORDNEW']/datum/jaar" />-<xsl:value-of select="tracking/track[@code='ORDNEW']/datum/maand" />-<xsl:value-of select="tracking/track[@code='ORDNEW']/datum/dag" /><xsl:text> </xsl:text><xsl:value-of select="tracking/track[@code='ORDNEW']/datum/tijd" />:00</datum>
|
||||
@@ -35,7 +35,7 @@ Opdrachttype: <xsl:value-of select="opdrachttype/omschrijving" />
|
||||
Melder: <xsl:value-of select="melding/melder/naam_full" />
|
||||
Email: <xsl:value-of select="melding/melder/email" />
|
||||
Telefoon: <xsl:choose><xsl:when test="melding/melder/mobiel!=''"><xsl:value-of select="melding/melder/mobiel" /></xsl:when><xsl:when test="melding/melder/telefoonnr!=''"><xsl:value-of select="melding/melder/telefoonnr" /></xsl:when><xsl:otherwise>-</xsl:otherwise></xsl:choose>
|
||||
Vakgroep:<xsl:value-of select="melding/stdmelding/discipline/omschrijving" />
|
||||
Vakgroep:<xsl:value-of select="melding/stdmelding/discipline/omschrijving" />
|
||||
Melding:<xsl:value-of select="melding/stdmelding/omschrijving" />
|
||||
Prioriteit: <xsl:choose><xsl:when test="melding/spoed=1">Kritiek</xsl:when><xsl:when test="melding/spoed=2">Hoog</xsl:when><xsl:when test="melding/spoed=3">Normaal</xsl:when><xsl:otherwise>Laag</xsl:otherwise></xsl:choose>
|
||||
Einddatum: <xsl:value-of select="einddatum/datum" />
|
||||
@@ -49,6 +49,8 @@ Omschrijving: <xsl:value-of select="omschrijving" />
|
||||
Melding: <xsl:value-of select="melding/omschrijving" /></omschrijving>
|
||||
<kenmerk naam="Kosten"><xsl:value-of select="kosten" /></kenmerk>
|
||||
<kenmerk naam="Werkbon/Opdracht nr. klant"><xsl:value-of select="melding_key" />/<xsl:value-of select="bedrijfopdr_volgnr" /></kenmerk>
|
||||
<kenmerk naam="Locatiecode klant"><xsl:value-of select="melding/plaats/regio/district/locatie/code"/></kenmerk>
|
||||
<kenmerk naam="Gebouwcode klant"><xsl:value-of select="melding/plaats/regio/district/locatie/gebouw/code"/></kenmerk>
|
||||
<kenmerk naam="Einddatum klant"><xsl:value-of select="einddatum/datum" /><xsl:text> </xsl:text><xsl:value-of select="einddatum/tijd" />:00</kenmerk>
|
||||
|
||||
<xsl:for-each select="melding/kenmerk">
|
||||
@@ -96,7 +98,7 @@ Melding: <xsl:value-of select="melding/omschrijving" /></omschrijving>
|
||||
<xsl:template match="SOAPEnvelope">
|
||||
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<soap:Body>
|
||||
<xsl:copy-of select="./node()"/>
|
||||
<xsl:copy-of select="./node()"/>
|
||||
</soap:Body>
|
||||
</soap:Envelope>
|
||||
</xsl:template>
|
||||
@@ -135,7 +137,7 @@ Melding: <xsl:value-of select="melding/omschrijving" /></omschrijving>
|
||||
<xsl:otherwise>
|
||||
<!-- door SendFile.cls gebruikt voor maken 'bon' (XML die via SOAP verstuurd wordt) -->
|
||||
<xsl:apply-templates select="facilitor"/>
|
||||
<!-- door SendSOAP.cls gebruikt voor inpakken van 'bon' in SOAP envelope
|
||||
<!-- door SendSOAP.cls gebruikt voor inpakken van 'bon' in SOAP envelope
|
||||
SOAPEnvelope is een harde tag die in PutOrders gedefinieerd wordt. -->
|
||||
<xsl:apply-templates select="SOAPEnvelope"/>
|
||||
<!-- door SendSOAP.cls gebruikt voor uitpakken van response uit SOAP envelope -->
|
||||
|
||||
@@ -463,7 +463,271 @@ END:VCALENDAR
|
||||
</table>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="opdracht" mode="include">
|
||||
<table border="0" width="100%" cellpadding="2">
|
||||
<tr>
|
||||
<td colspan="4" class="caption" style="padding-top:20px;padding-bottom:20px">
|
||||
<b>
|
||||
<xsl:choose>
|
||||
<xsl:when test="statusopdr_key = 10 and statusopdr_key_refiat > 0">
|
||||
<xsl:value-of select="//lcl/MLD/hergoedkeuring"/>: 
|
||||
</xsl:when>
|
||||
<xsl:when test="(statusopdr_key = 3 or statusopdr_key = 4) and statusopdr_key_refiat > 0">
|
||||
<xsl:value-of select="//lcl/MLD/herfiattering"/>: 
|
||||
</xsl:when>
|
||||
</xsl:choose>
|
||||
<xsl:value-of select="opdrachttype/omschrijving"/> 
|
||||
<xsl:value-of select="melding/stdmelding/discipline/srtdiscipline/prefix"/>
|
||||
<xsl:value-of select="melding/key"/>/<xsl:value-of select="bedrijfopdr_volgnr"/></b>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<xsl:choose>
|
||||
<xsl:when test="opdrachttype/key = 42">
|
||||
<tr><td colspan="4"><b>Let op: Indien de kosten voor het uitvoeren van de werkzaamheden meer dan €500 excl BTW bedragen, dan moet u voor aanvang van de werkzaamheden contact opnemen met de contactpersoon die hierbeneden staat beschreven.</b></td>
|
||||
</tr>
|
||||
</xsl:when>
|
||||
<xsl:when test="opdrachttype/key = 5">
|
||||
<tr><td colspan="4"><b>Let op: Op basis van deze melding kunt u geen kosten factureren aan Yask. Indien dit uw inziens wel noodzakelijk is, dan moet u voor aanvang van de werkzaamheden contact opnemen met de contactpersoon die hierbeneden staat beschreven.</b></td>
|
||||
</tr>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
|
||||
<xsl:if test="extra_key">
|
||||
<xsl:variable name="ox_key"><xsl:value-of select="extra_key"/></xsl:variable>
|
||||
<tr>
|
||||
<td align="right" valign="top" style="padding-top:15px;padding-bottom:10px;">
|
||||
<b><xsl:value-of select="//lcl/FAC/bericht"/>:</b>
|
||||
</td>
|
||||
<td colspan="5" style="padding-top:15px;padding-bottom:10px;">
|
||||
<xsl:call-template name="linebreaks">
|
||||
<xsl:with-param name="string" select="notes/note[key=$ox_key]/omschrijving"/>
|
||||
</xsl:call-template>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="6" style="padding-bottom:15px;">
|
||||
<hr/>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
<tr>
|
||||
<td width="16%"/>
|
||||
<td width="17%"/>
|
||||
<td width="17%"/>
|
||||
<td width="16%" align="right">
|
||||
<b><xsl:value-of select="//lcl/FAC/bedrijf"/>:</b>
|
||||
</td>
|
||||
<td width="17%">
|
||||
<xsl:value-of select="uitvoerende/bedrijf/naam"/>
|
||||
</td>
|
||||
<td width="17%">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"/>
|
||||
<td align="right">
|
||||
<b><xsl:value-of select="//lcl/FAC/contactpersoon"/>:</b>
|
||||
</td>
|
||||
<td>
|
||||
<xsl:value-of select="contactpersoon/naam_full"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"/>
|
||||
<td align="right">
|
||||
<b><xsl:value-of select="//lcl/FAC/telefoon"/>:</b>
|
||||
</td>
|
||||
<td>
|
||||
<xsl:value-of select="contactpersoon/telefoon1"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"/>
|
||||
<td align="right">
|
||||
<b><xsl:value-of select="//lcl/FAC/adres"/>:</b>
|
||||
</td>
|
||||
<td>
|
||||
<xsl:value-of select="uitvoerende/bedrijf/post_adres"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"/>
|
||||
<td align="right">
|
||||
<b><xsl:value-of select="//lcl/FAC/plaats"/>:</b>
|
||||
</td>
|
||||
<td>
|
||||
<xsl:value-of select="uitvoerende/bedrijf/post_plaats"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">
|
||||
<b><xsl:value-of select="//lcl/FAC/contactpersoon"/>:</b>
|
||||
</td>
|
||||
<td align="left">
|
||||
<xsl:value-of select="backoffice_contact/naam_full"/>
|
||||
</td>
|
||||
<td colspan="3"/>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">
|
||||
<b><xsl:value-of select="//lcl/FAC/telefoon"/>:</b>
|
||||
</td>
|
||||
<td align="left">
|
||||
<xsl:value-of select="backoffice_contact/telefoonnr"/>
|
||||
</td>
|
||||
<td align="left">
|
||||
</td>
|
||||
<td align="right">
|
||||
<b><xsl:value-of select="//lcl/FAC/kostenplaats"/>:</b>
|
||||
</td>
|
||||
<td align="left">
|
||||
<xsl:value-of select="kostenplaats/nr"/>
|
||||
</td>
|
||||
</tr>
|
||||
<xsl:if test="melding/kenmerk[@naam='Ordernr']!=''">
|
||||
<tr>
|
||||
<td colspan="3"/>
|
||||
<td align="right">
|
||||
<b><xsl:value-of select="//lcl/MLD/ordernr"/>:</b>
|
||||
</td>
|
||||
<td align="left">
|
||||
<xsl:value-of select="melding/kenmerk[@naam='Ordernr']"/>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
<tr>
|
||||
<td colspan="3"/>
|
||||
<td align="right">
|
||||
<b><xsl:value-of select="//lcl/MLD/datum_gereed"/>:</b>
|
||||
</td>
|
||||
<td align="left">
|
||||
<xsl:value-of select="datumgereed/datum"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"/>
|
||||
<td align="right">
|
||||
<b><xsl:value-of select="//lcl/MLD/datum_verzonden"/>:</b>
|
||||
</td>
|
||||
<td align="left">
|
||||
<xsl:value-of select="datumverzonden/datum"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"/>
|
||||
<td align="right">
|
||||
<b><xsl:value-of select="//lcl/MLD/status"/>:</b>
|
||||
</td>
|
||||
<td align="left">
|
||||
<xsl:value-of select="status"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" valign="top">
|
||||
<b><xsl:value-of select="//lcl/FAC/omschrijving"/>:</b>
|
||||
</td>
|
||||
<td align="left" colspan="3">
|
||||
<xsl:call-template name="linebreaks">
|
||||
<xsl:with-param name="string" select="omschrijving"/>
|
||||
</xsl:call-template>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="6">
|
||||
<hr/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="6" align="center">
|
||||
<table width="100%" style="background-color:#EEEEEE;border: 1px solid blue">
|
||||
<tr>
|
||||
<td>
|
||||
<xsl:apply-templates select="melding" mode="include"/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="6" height="30px" valign="center">
|
||||
<hr/>
|
||||
</td>
|
||||
</tr>
|
||||
<xsl:variable name="arbeid" select="uren*uurloon"/>
|
||||
<xsl:variable name="arbeid_refiat" select="uren_refiat*uurloon_refiat"/>
|
||||
<tr>
|
||||
<td align="right">
|
||||
<b><xsl:value-of select="//lcl/MLD/uren"/>:</b>
|
||||
</td>
|
||||
<td>
|
||||
<xsl:value-of select="format-number(uren, '0,00', 'european')"/>
|
||||
<b> à </b>€ <xsl:value-of select="format-number(uurloon, '0,00', 'european')"/></td>
|
||||
<td style="width:2in;text-align:left">
|
||||
<xsl:if test="statusopdr_key_refiat > 0">
|
||||
(<xsl:value-of select="//lcl/MLD/was"/> <xsl:value-of select="format-number(uren, '0,00', 'european')"/>
|
||||
<b> à </b>€ <xsl:value-of select="format-number(uurloon, '0,00', 'european')"/>)
|
||||
</xsl:if>
|
||||
</td>
|
||||
<td align="right">
|
||||
<b><xsl:value-of select="//lcl/MLD/arbeid"/>:</b>
|
||||
</td>
|
||||
<td style="width:1in;text-align:right">€ <xsl:value-of select="format-number($arbeid, '0,00', 'european')"/></td>
|
||||
<td style="width:1in;text-align:right">
|
||||
<xsl:if test="statusopdr_key_refiat > 0">
|
||||
(<xsl:value-of select="//lcl/MLD/was"/> € <xsl:value-of select="format-number($arbeid_refiat, '0,00', 'european')"/>)
|
||||
</xsl:if>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"/>
|
||||
<td align="right">
|
||||
<b><xsl:value-of select="//lcl/MLD/materiaal"/>:</b>
|
||||
</td>
|
||||
<td style="width:1in;text-align:right">€ <xsl:value-of select="format-number(materiaal, '0,00', 'european')"/></td>
|
||||
<td style="width:1in;text-align:right">
|
||||
<xsl:if test="statusopdr_key_refiat > 0">
|
||||
(<xsl:value-of select="//lcl/MLD/was"/> € <xsl:value-of select="format-number(materiaal_refiat, '0,00', 'european')"/>)
|
||||
</xsl:if>
|
||||
</td>
|
||||
</tr>
|
||||
<xsl:variable name="correctie0" select="$arbeid + materiaal"/>
|
||||
<xsl:variable name="correctie" select="kosten - $correctie0"/>
|
||||
<xsl:variable name="correctie0_refiat" select="$arbeid_refiat + materiaal_refiat"/>
|
||||
<xsl:variable name="correctie_refiat" select="kosten_refiat - $correctie0_refiat"/>
|
||||
<xsl:if test="$correctie!=0">
|
||||
<tr>
|
||||
<td colspan="3"/>
|
||||
<td align="right">
|
||||
<b><xsl:value-of select="//lcl/MLD/correctie"/>:</b>
|
||||
</td>
|
||||
<td style="width:1in;text-align:right">€ <xsl:value-of select="format-number($correctie, '0,00', 'european')"/></td>
|
||||
<td style="width:1in;text-align:right">
|
||||
<xsl:if test="statusopdr_key_refiat > 0">
|
||||
(<xsl:value-of select="//lcl/MLD/was"/> € <xsl:value-of select="format-number($correctie_refiat, '0,00', 'european')"/>)
|
||||
</xsl:if>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
<tr>
|
||||
<td colspan="3"/>
|
||||
<td align="right">
|
||||
<b><xsl:value-of select="//lcl/FAC/totaal"/>:</b>
|
||||
</td>
|
||||
<td style="width:1in;text-align:right">
|
||||
<b>€ <xsl:value-of select="format-number(kosten, '0,00', 'european')"/></b>
|
||||
</td>
|
||||
<td style="width:1in;text-align:right">
|
||||
<xsl:if test="statusopdr_key_refiat > 0">
|
||||
(<xsl:value-of select="//lcl/MLD/was"/> € <xsl:value-of select="format-number(kosten_refiat, '0,00', 'european')"/>)
|
||||
</xsl:if>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -43,10 +43,10 @@ input[type=text], select {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.res_optie_eigen { background-color: #ece874; color: #fff; } /* Optie eigen reservering: lichtblauw */
|
||||
.res_definitief_eigen { background-color: #91c574; color: #fff; } /* Definitief eigen reservering: lichtrood */
|
||||
.res_optie { background-color: #cbc401; color: #fff; } /* Optie: blauw ORANJE */
|
||||
.res_definitief { background-color: #009900; color: #fff; } /* Definitief: rood GROEN */
|
||||
.res_optie_eigen { background-color: #E6E6FA; color: #fff; } /* Optie eigen reservering: lichtblauw */
|
||||
.res_definitief_eigen { background-color: #ADD8E6; color: #fff; } /* Definitief eigen reservering: lichtrood */
|
||||
.res_optie { background-color: #800080; color: #fff; } /* Optie: blauw ORANJE */
|
||||
.res_definitief { background-color: #0000FF; color: #fff; } /* Definitief: rood GROEN */
|
||||
.res_blok { background-color: #747578; color: #fff;} /* Blokkade: zwart GRIJS */
|
||||
.res_vervallen { background-color: #AB1455; color: #fff;} /* Vervallen: paars */
|
||||
.res_nietvrij { background-color: #B1B3B4; color: #fff; } /* Niet beschikbaar: oranje LICHTGROEN */
|
||||
|
||||
@@ -275,6 +275,8 @@ function notificationMail(rec, p_notificationXSL, params)
|
||||
, attachSubFolder: attach_kenmerk_folder
|
||||
, attachments: attach_obj
|
||||
, attachics: icsResult
|
||||
, notimode: "email"
|
||||
, srtnotificatie: rec("fac_srtnotificatie_code").value
|
||||
}
|
||||
);
|
||||
}
|
||||
@@ -310,6 +312,8 @@ function notificationMail(rec, p_notificationXSL, params)
|
||||
, attachFolder: attach_folder
|
||||
, attachSubFolder: attach_kenmerk_folder
|
||||
, attachments: []
|
||||
, notimode: "email"
|
||||
, srtnotificatie: rec("fac_srtnotificatie_code").value
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
@@ -261,6 +261,7 @@ function connectMail( p_connect
|
||||
, "email"
|
||||
, p_bedrijfadres
|
||||
);
|
||||
params.notimode = "email";
|
||||
params.attachFileName = p_filename; //JGL Volgens mij don't care parameter
|
||||
mailResult = sendMail( p_sender
|
||||
, mail_to
|
||||
|
||||
@@ -459,6 +459,11 @@ function sendMail( p_mailfrom
|
||||
|
||||
// Handig voor intern gebruik. Komt in de e-mail headers terecht
|
||||
objMail.Fields("urn:schemas:mailheader:X-FCLT-cust").Value = customerId;
|
||||
if ("srtnotificatie" in params)
|
||||
objMail.Fields("urn:schemas:mailheader:X-FCLT-noticode").Value = params.srtnotificatie;
|
||||
if ("notimode" in params)
|
||||
objMail.Fields("urn:schemas:mailheader:X-FCLT-notimode").Value = params.notimode;
|
||||
|
||||
objMail.Fields.Update();
|
||||
//
|
||||
//
|
||||
|
||||