Merge 2016.1 patches
svn path=/Website/trunk/; revision=29346
This commit is contained in:
441
APPL/CNT/cnt.inc
441
APPL/CNT/cnt.inc
@@ -212,6 +212,447 @@ cnt = { setcontractstatus:
|
||||
return fasesql;
|
||||
},
|
||||
|
||||
getfromwherelist_sql:
|
||||
function(pautfunction, params)
|
||||
{
|
||||
var cntsrt_key = params.cntsrt_key;
|
||||
var cntnum = params.cntnum;
|
||||
var dienst_key = params.dienst_key;
|
||||
var uitvoerder_key = params.uitvoerder_key;
|
||||
var cnt_persoon_key = params.cnt_persoon_key;
|
||||
var eigenaar_key = params.eigenaar_key;
|
||||
var manager_key = params.manager_key;
|
||||
var beheerder_key = params.beheerder_key;
|
||||
var reg_key = params.reg_key;
|
||||
var dist_key = params.dist_key;
|
||||
var loc_key = params.loc_key;
|
||||
var bld_key = params.bld_key;
|
||||
var objectsrt_key = params.objectsrt_key;
|
||||
var mantel_key = params.mantel_key;
|
||||
var descript = params.descript;
|
||||
var ins_key = params.ins_key;
|
||||
var kp_key = params.kp_key;
|
||||
var ksgrp_key = params.ksgrp_key;
|
||||
var ks_key = params.ks_key;
|
||||
// Statussen.
|
||||
var cntAct = params.cntAct;
|
||||
var cntInact = params.cntInact;
|
||||
var cntNew = params.cntNew;
|
||||
var cntTgoe = params.cntTgoe;
|
||||
// Fases binnen status Acief
|
||||
var cntFFutu = params.cntFFutu;
|
||||
var cntFAct = params.cntFAct;
|
||||
var cntFRap = params.cntFRap;
|
||||
var cntFOpz = params.cntFOpz;
|
||||
var cntFVerl = params.cntFVerl;
|
||||
var grp_sel = params.grp_sel;
|
||||
|
||||
var outputmode = params.outputmode; // print to 0 = screen, 1 = printer, 2 = excel, etc.
|
||||
var print = (outputmode == 1 || outputmode == 5);
|
||||
var excel = (outputmode == 2 || outputmode == 6);
|
||||
|
||||
// Voeg laatste tracking datum toe
|
||||
sqltrack = ", (SELECT MAX(t.fac_tracking_datum)"
|
||||
+ " FROM fac_tracking t"
|
||||
+ " , fac_srtnotificatie sn"
|
||||
+ " WHERE t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key"
|
||||
+ " AND t.fac_tracking_refkey = c.cnt_contract_key" // contract key uit "sql"
|
||||
+ " AND sn.fac_srtnotificatie_xmlnode = 'contract') recentdatum";
|
||||
|
||||
sql = "SELECT c.cnt_contract_nummer"
|
||||
+ " , c.cnt_contract_versie"
|
||||
+ " , c.cnt_contract_omschrijving"
|
||||
+ " , c.cnt_contract_document"
|
||||
+ " , COALESCE(b.prs_bedrijf_naam, af" + S("prs_dep_string") + ", " + S("prs_pers_string") + ") uitvoerder" // af + S("prs_dep_string") heeft parameter afd.
|
||||
+ " , " + S("prs_dep_string") + " eigenaar"
|
||||
+ " , c.cnt_contract_looptijd_van begindatum"
|
||||
+ " , c.cnt_contract_looptijd_tot einddatum"
|
||||
+ " , cnt.cnt_getOpzegdatum(c.cnt_contract_key) cnt_opzegdatum"
|
||||
+ " , cnt.cnt_getRappeldatum(c.cnt_contract_key) cnt_rappeldatum"
|
||||
+ " , cnt.cnt_contract_status("
|
||||
+ " c.cnt_contract_looptijd_van"
|
||||
+ " , cnt.cnt_getRappeldatum(c.cnt_contract_key)"
|
||||
+ " , cnt.cnt_getOpzegdatum(c.cnt_contract_key)"
|
||||
+ " , c.cnt_contract_looptijd_tot) fase_actief"
|
||||
+ " , c.cnt_contract_status"
|
||||
+ " , c.cnt_contract_key cnt_contract_key"
|
||||
+ " , COALESCE(c.ins_discipline_key, -1) disc_key"
|
||||
+ " , c.prs_afdeling_key_eig eigenaar_key"
|
||||
+ " , c.cnt_contract_nummer_intern"
|
||||
+ " , dp.cnt_srtcontract_type"
|
||||
+ " , alg_locatie_oms"
|
||||
+ " , alg_locatie_omschrijving"
|
||||
+ " , alg_district_omschrijving"
|
||||
+ " , alg_locatie_code"
|
||||
+ " , alg_locatie_count"
|
||||
+ " , c.ins_discipline_key"
|
||||
+ " , " + lcl.xsqla('cd.ins_discipline_omschrijving','cd.ins_discipline_key')
|
||||
+ " , c.cnt_contract_kosten"
|
||||
+ " , di.prs_dienst_omschrijving"
|
||||
+ " , (SELECT " + S("prs_kpn_string")
|
||||
+ " FROM prs_kostenplaats k"
|
||||
+ " WHERE k.prs_kostenplaats_key = c.prs_kostenplaats_key) kostenplaats"
|
||||
+ sqltrack
|
||||
+ " FROM prs_v_aanwezigbedrijf b"
|
||||
+ " , cnt_v_aanwezigcontract c"
|
||||
+ " , prs_dienst di"
|
||||
+ (ksgrp_key
|
||||
? " , prs_kostensoort ks"
|
||||
: "")
|
||||
+ " , prs_v_afdeling d"
|
||||
+ " , prs_v_afdeling afd"
|
||||
+ " , prs_perslid p"
|
||||
+ " , alg_district ad"
|
||||
+ " , cnt_disc_params dp"
|
||||
+ " , cnt_discipline cd";
|
||||
|
||||
// Om drie redenen hebben we de locatie_key nodig in de hoofd query
|
||||
// - Voor als de gebruiker filtert op locatie (optioneel)
|
||||
// - Voor als de gebruiker beperkte autorisatie heeft (optioneel)
|
||||
// - Om de locatieomschrijving in de lijst te kunnen tonen (niet bij maninfo)
|
||||
// Voor die eerste twee is sql_cnt_loc_keyA die bij contracten met meerdere locaties alles bevat
|
||||
// Voor de tweede is sql_cnt_loc_key die groeppeert en telt per locatie
|
||||
// LET OP: - type 4 (algemeen / generiek) zit er niet in
|
||||
sql_cnt_loc_keyA = " SELECT cp.cnt_contract_key"
|
||||
+ " , cp.cnt_alg_plaats_key alg_locatie_key"
|
||||
+ " FROM cnt_contract_plaats cp"
|
||||
+ " WHERE cnt_alg_plaats_code = 'L'"
|
||||
+ " UNION ALL"
|
||||
+ " SELECT cp.cnt_contract_key"
|
||||
+ " , g.alg_locatie_key"
|
||||
+ " FROM cnt_contract_plaats cp, alg_gebouw g"
|
||||
+ " WHERE cnt_alg_plaats_code = 'G'"
|
||||
+ " AND cp.cnt_alg_plaats_key = g.alg_gebouw_key"
|
||||
+ " UNION ALL"
|
||||
+ " SELECT cp.cnt_contract_key"
|
||||
+ " , t.alg_locatie_key"
|
||||
+ " FROM cnt_contract_plaats cp, alg_terreinsector t"
|
||||
+ " WHERE cnt_alg_plaats_code = 'T'"
|
||||
+ " AND cp.cnt_alg_plaats_key = t.alg_terreinsector_key"
|
||||
+ " UNION ALL"
|
||||
+ " SELECT co.cnt_contract_key"
|
||||
+ " , d.ins_alg_locatie_key"
|
||||
+ " FROM cnt_contract_object co"
|
||||
+ " , ins_deel d"
|
||||
+ " WHERE co.cnt_ins_deel_key = d.ins_deel_key"
|
||||
+ " UNION ALL"
|
||||
+ " SELECT co.cnt_contract_key"
|
||||
+ " , g.alg_locatie_key"
|
||||
+ " FROM cnt_contract_onrgoed co"
|
||||
+ " , alg_gebouw g"
|
||||
+ " , alg_verdieping v"
|
||||
+ " , alg_ruimte r"
|
||||
+ " WHERE co.alg_onrgoed_niveau = 'R'"
|
||||
+ " AND co.alg_onrgoed_key = r.alg_ruimte_key"
|
||||
+ " AND r.alg_verdieping_key = v.alg_verdieping_key"
|
||||
+ " AND v.alg_gebouw_key = g.alg_gebouw_key"
|
||||
+ " UNION ALL"
|
||||
+ " SELECT co.cnt_contract_key"
|
||||
+ " , t.alg_locatie_key"
|
||||
+ " FROM cnt_contract_onrgoed co, alg_terreinsector t"
|
||||
+ " WHERE co.alg_onrgoed_niveau = 'T'"
|
||||
+ " AND co.alg_onrgoed_key = t.alg_terreinsector_key";
|
||||
|
||||
sql_cnt_loc_key = "SELECT MIN(alg_locatie_omschrijving || ' (' || alg_locatie_code || ')') alg_locatie_oms"
|
||||
+ " , MIN(alg_locatie_omschrijving) alg_locatie_omschrijving"
|
||||
+ " , MIN(alg_locatie_code) alg_locatie_code"
|
||||
+ " , MIN(alg_district_key) alg_district_key"
|
||||
+ " , cnt_contract_key"
|
||||
+ " , MIN(ll.alg_locatie_key) alg_locatie_key"
|
||||
+ " , COUNT(distinct alg_locatie_code) alg_locatie_count"
|
||||
+ " FROM alg_locatie ll"
|
||||
+ " , (" + sql_cnt_loc_keyA + ") scloc"
|
||||
+ " WHERE ll.alg_locatie_key = scloc.alg_locatie_key"
|
||||
+ " GROUP BY cnt_contract_key";
|
||||
|
||||
sql += ", (" + sql_cnt_loc_key + ") cloc";
|
||||
|
||||
sql += " WHERE b.prs_bedrijf_key(+) = c.cnt_prs_bedrijf_key"
|
||||
+ " AND c.cnt_prs_afdeling_key = afd.prs_afdeling_key(+)"
|
||||
+ " AND c.cnt_prs_perslid_key = p.prs_perslid_key(+)"
|
||||
+ " AND c.prs_dienst_key = di.prs_dienst_key(+)"
|
||||
+ " AND d.prs_afdeling_key = c.prs_afdeling_key_eig"
|
||||
+ " AND c.ins_discipline_key = dp.cnt_ins_discipline_key"
|
||||
+ " AND c.ins_discipline_key = cd.ins_discipline_key"
|
||||
+ " AND cloc.cnt_contract_key(+) = c.cnt_contract_key"
|
||||
+ " AND cloc.alg_district_key = ad.alg_district_key(+)";
|
||||
|
||||
if (cntsrt_key)
|
||||
sql += " AND c.ins_discipline_key = " + cntsrt_key;
|
||||
|
||||
sql += getKenmerkSql("CNT", "c.cnt_contract_key", true);
|
||||
|
||||
// Dienst.
|
||||
if (dienst_key)
|
||||
{
|
||||
sql += " AND (c.prs_dienst_key = " + dienst_key
|
||||
+ " OR (c.prs_dienst_key IS NULL "
|
||||
+ " AND EXISTS (SELECT '' FROM prs_bedrijfdienstlocatie dl "
|
||||
+ " WHERE dl.prs_bedrijf_key = b.prs_bedrijf_key AND dl.prs_dienst_key = " + dienst_key + ")))";
|
||||
}
|
||||
|
||||
// Uitvoerder.
|
||||
if (uitvoerder_key)
|
||||
sql += " AND b.prs_bedrijf_key = " + uitvoerder_key;
|
||||
|
||||
// Persoon (Contractpartij).
|
||||
if (cnt_persoon_key)
|
||||
sql += " AND c.cnt_prs_perslid_key = " + cnt_persoon_key;
|
||||
|
||||
// Mantel.
|
||||
if (mantel_key)
|
||||
sql += " AND c.cnt_contract_mantel_key = " + mantel_key;
|
||||
|
||||
// Afdeling (Eigenaar).
|
||||
if (eigenaar_key)
|
||||
sql += " AND c.prs_afdeling_key_eig = " + eigenaar_key;
|
||||
|
||||
// Verantwoordelijk manager.
|
||||
if (manager_key)
|
||||
sql += " AND c.prs_perslid_key_eig = " + manager_key;
|
||||
|
||||
// Beheerder.
|
||||
if (beheerder_key)
|
||||
sql += " AND c.prs_perslid_key_beh = " + beheerder_key;
|
||||
|
||||
// Regio, District, Locatie en gebouw.
|
||||
if (bld_key)
|
||||
{
|
||||
sql_bld = bld_key;
|
||||
sql_loc = loc_key;
|
||||
}
|
||||
else if (loc_key)
|
||||
sql_loc = loc_key;
|
||||
else if (dist_key)
|
||||
sql_loc = "SELECT alg_locatie_key FROM alg_locatie WHERE alg_district_key = " + dist_key;
|
||||
else if (reg_key)
|
||||
sql_loc = "SELECT alg_locatie_key FROM alg_locatie l, alg_district d WHERE l.alg_district_key = d.alg_district_key AND d.alg_regio_key = " + reg_key;
|
||||
|
||||
// Merk op dat we hier niet kunnen verwijzen naar cloc binnen sql omdat die MIN(alg_locatie_key) en MIN(alg_gebouw_key) bevat.
|
||||
if (reg_key || dist_key || loc_key)
|
||||
{
|
||||
sql += " AND c.cnt_contract_key IN"
|
||||
+ " (SELECT cnt_contract_key FROM cnt_v_aanwezigcontract_plaats"
|
||||
+ " WHERE (cnt_alg_plaats_code = 'L' AND cnt_alg_plaats_key IN (" + sql_loc + "))";
|
||||
|
||||
if (bld_key)
|
||||
{
|
||||
sql += " OR (cnt_alg_plaats_code = 'G' AND cnt_alg_plaats_key = "
|
||||
+ bld_key
|
||||
+ ") OR (cnt_alg_plaats_code = 'T' AND cnt_alg_plaats_key = "
|
||||
+ bld_key + ")";
|
||||
}
|
||||
else
|
||||
{
|
||||
sql += " OR (cnt_alg_plaats_code = 'G' AND cnt_alg_plaats_key IN "
|
||||
+ " (SELECT alg_gebouw_key FROM alg_v_aanweziggebouw WHERE alg_locatie_key IN (" + sql_loc + "))"
|
||||
+ " OR cnt_alg_plaats_code = 'T' AND cnt_alg_plaats_key IN "
|
||||
+ " (SELECT alg_terreinsector_key FROM alg_v_aanwezigterreinsector WHERE alg_locatie_key IN (" + sql_loc + ")))";
|
||||
}
|
||||
|
||||
sql += " UNION SELECT cnt_contract_key FROM cnt_v_aanwezigcontract_object co, ins_v_aanwezigdeel ad"
|
||||
+ " WHERE cnt_ins_deel_key = ad.ins_deel_key AND ad.ins_alg_locatie_key IN (" + sql_loc + ")";
|
||||
|
||||
sql += " UNION SELECT cnt_contract_key FROM cnt_v_contract_locatie_geg cl"
|
||||
+ " WHERE alg_locatie_key IN (" + sql_loc + "))";
|
||||
}
|
||||
|
||||
// Objectsoort.
|
||||
if (objectsrt_key)
|
||||
{
|
||||
sql += " AND c.cnt_contract_key IN "
|
||||
+ " (SELECT cnt_contract_key FROM cnt_v_aanwezigcontract_object"
|
||||
+ " WHERE cnt_ins_srtdeel_key = " + objectsrt_key +")";
|
||||
// we assume that srtdeel is defined if deel is defined. It is.
|
||||
// + " OR cnt_ins_deel_key IN "
|
||||
// + "(SELECT ins_deel_key FROM ins_v_aanwezigdeel WHERE ins_srtdeel_key = " + objectsrt_key + "))";
|
||||
}
|
||||
if (ins_key)
|
||||
{
|
||||
sql += " AND c.cnt_contract_key IN "
|
||||
+ " (SELECT DISTINCT cnt_contract_key"
|
||||
+ " FROM (SELECT cnt_contract_key"
|
||||
+ " FROM cnt_contract_object"
|
||||
+ " WHERE cnt_ins_deel_key =" + ins_key + ""
|
||||
+ " UNION"
|
||||
+ " SELECT co.cnt_contract_key"
|
||||
+ " FROM cnt_v_aanwezigcontract_object co"
|
||||
+ " , ins_deel d"
|
||||
+ " , cnt_v_aanwezigcontract_plaats ccp"
|
||||
+ " , alg_v_allonroerendgoed aao"
|
||||
+ " WHERE cnt_ins_deel_key IS NULL"
|
||||
+ " AND co.cnt_ins_srtdeel_key = d.ins_srtdeel_key"
|
||||
+ " AND d.ins_deel_key =" + ins_key + ""
|
||||
+ " AND ccp.cnt_contract_key = co.cnt_contract_key"
|
||||
+ " AND COALESCE (d.ins_alg_ruimte_type_org,"
|
||||
+ " ins_alg_ruimte_type) = 'R'"
|
||||
+ " AND COALESCE (d.ins_alg_ruimte_key_org,"
|
||||
+ " ins_alg_ruimte_key) = aao.alg_ruimte_key"
|
||||
+ " AND ( (ccp.cnt_alg_plaats_code = 'L'"
|
||||
+ " AND ccp.cnt_alg_plaats_key = aao.alg_locatie_key)"
|
||||
+ " OR (ccp.cnt_alg_plaats_code = 'G'"
|
||||
+ " AND ccp.cnt_alg_plaats_key = aao.alg_gebouw_key))"
|
||||
+ " UNION"
|
||||
+ " SELECT co.cnt_contract_key"
|
||||
+ " FROM cnt_v_aanwezigcontract_object co"
|
||||
+ " , ins_deel d"
|
||||
+ " WHERE cnt_ins_deel_key IS NULL"
|
||||
+ " AND co.cnt_ins_srtdeel_key = d.ins_srtdeel_key"
|
||||
+ " AND d.ins_deel_key =" + ins_key + ""
|
||||
+ " AND (co.cnt_contract_key NOT IN"
|
||||
+ " (SELECT cnt_contract_key"
|
||||
+ " FROM cnt_v_aanwezigcontract_plaats)"
|
||||
+ " OR COALESCE (d.ins_alg_ruimte_type_org,"
|
||||
+ " ins_alg_ruimte_type) != 'R')))";
|
||||
}
|
||||
|
||||
if (kp_key)
|
||||
{
|
||||
sql += " AND c.prs_kostenplaats_key = " + kp_key;
|
||||
}
|
||||
|
||||
if (ksgrp_key)
|
||||
{
|
||||
sql += " AND c.prs_kostensoort_key = ks.prs_kostensoort_key"
|
||||
+ " AND ks.prs_kostensoortgrp_key = " + ksgrp_key;
|
||||
}
|
||||
|
||||
if (ks_key)
|
||||
{
|
||||
// Ook die van het contractsoort beschouwen, het gaat om de geldende ks, niet per se de geregistreerde
|
||||
// deze is niks sneller: sql += " AND (c.prs_kostensoort_key = " + ks_key + " OR (cd.prs_kostensoort_key = " + ks_key + " AND c.prs_kostensoort_key IS NULL))";
|
||||
sql += " AND COALESCE(c.prs_kostensoort_key, cd.prs_kostensoort_key) = " + ks_key;
|
||||
}
|
||||
|
||||
// Beschrijving
|
||||
if (descript)
|
||||
{
|
||||
sql += " AND UPPER(c.cnt_contract_omschrijving) LIKE " + safe.quoted_sql_wild("%"+descript+"%");
|
||||
}
|
||||
|
||||
// we don't use status field because we don't have mechanism to change its value
|
||||
// in case of mld_melding status was changed as the result of user's actions
|
||||
// here it gets changed as the result of current date changing
|
||||
|
||||
// Contract number
|
||||
if (cntnum)
|
||||
{
|
||||
sql += " AND (UPPER(c.cnt_contract_nummer) LIKE " + safe.quoted_sql_wild(cntnum + "%")
|
||||
+ " OR UPPER(c.cnt_contract_nummer_intern) LIKE " + safe.quoted_sql_wild(cntnum + "%") + ")";
|
||||
}
|
||||
else
|
||||
{
|
||||
var statussen = "";
|
||||
var komma = ", ";
|
||||
var actief = false;
|
||||
var sqlactief = "";
|
||||
if (cntAct)
|
||||
{
|
||||
//statussen = "0", en dan ook naar de fases binnen de status Actief kijken.
|
||||
sqlactief += " (c.cnt_contract_status = 0"
|
||||
+ cnt.getfaseconditionsql({cntffutu: cntFFutu, cntfact: cntFAct, cntfrap: cntFRap, cntfopz: cntFOpz, cntfverl: cntFVerl})
|
||||
+ ")";
|
||||
}
|
||||
if (cntInact)
|
||||
statussen += "1";
|
||||
if (cntNew)
|
||||
statussen += (statussen != ""? komma : "") + "2";
|
||||
if (cntTgoe)
|
||||
statussen += (statussen != ""? komma : "") + "3";
|
||||
var sqlINT = statussen == ""? "" : " (c.cnt_contract_status IN (" + statussen + "))";
|
||||
|
||||
if (sqlactief != "" && sqlINT != "")
|
||||
sql += " AND (" + sqlactief + " OR" + sqlINT + ")";
|
||||
else if (sqlactief != "" || sqlINT != "")
|
||||
sql += " AND" + sqlactief + sqlINT; // <20><>n van beide is een lege string.
|
||||
else
|
||||
sql += " AND 1 = 0";
|
||||
}
|
||||
|
||||
// scope
|
||||
// sql bevat al wel een alg_locatie_key maar er zit een group-by (en een MIN) in
|
||||
// wat te streng is voor scope
|
||||
// Daarom teruggrijpen op sql_cnt_loc_keyA die nog geen group-by op contract heeft gedaan
|
||||
sql_scope = " SELECT cnt_contract_key"
|
||||
+ " FROM (SELECT cc.cnt_contract_key"
|
||||
+ " , ins_discipline_key"
|
||||
+ " , di.alg_regio_key"
|
||||
+ " , ll.alg_district_key"
|
||||
+ " , clk.alg_locatie_key"
|
||||
+ " FROM (" + sql_cnt_loc_keyA + ") clk"
|
||||
+ " , cnt_contract cc"
|
||||
+ " , alg_locatie ll"
|
||||
+ " , alg_district di"
|
||||
+ " WHERE cc.cnt_contract_key = clk.cnt_contract_key"
|
||||
+ " AND ll.alg_locatie_key(+) = clk.alg_locatie_key" // persoons/afdelingsgebonden objecten hebben geen ins_alg_locatie_key vandaar (+)
|
||||
+ " AND ll.alg_district_key = di.alg_district_key(+)" // persoons/afdelingsgebonden objecten hebben geen ins_alg_locatie_key vandaar (+)
|
||||
+ " ) sc"
|
||||
+ " , prs_v_afdeling_boom boom"
|
||||
+ " WHERE boom.prs_afdeling_key = c.prs_afdeling_key_eig";
|
||||
|
||||
// Autorisatie voor ALG (cnt_contract_plaats) en PRS (cnt_contract.prs_afdeling_key_eig)
|
||||
sql_scope = discx3d (sql_scope,
|
||||
"sc.ins_discipline_key",
|
||||
"sc.alg_regio_key",
|
||||
"sc.alg_district_key",
|
||||
"sc.alg_locatie_key",
|
||||
"sc.alg_gebouw_key",
|
||||
"", // verdieping not supported
|
||||
"", // ruimte not supported
|
||||
"boom.prs_bedrijf_key",
|
||||
"boom.prs_afdeling_key",
|
||||
pautfunction,
|
||||
(!cntnum && cntsrt_key? cntsrt_key : ""),
|
||||
2);
|
||||
|
||||
// Scopeloos contract of nog geen scope toegekend. Alleen disc en eigenaar controleren
|
||||
sql_scopeloos = "SELECT cnt_contract_key"
|
||||
+ " FROM cnt_contract c"
|
||||
+ " , prs_v_afdeling_boom boom"
|
||||
+ " WHERE NOT EXISTS (SELECT cnt_contract_key"
|
||||
+ " FROM cnt_contract_plaats cp"
|
||||
+ " WHERE cp.cnt_contract_key = c.cnt_contract_key)"
|
||||
+ " AND NOT EXISTS (SELECT cnt_contract_key"
|
||||
+ " FROM cnt_contract_onrgoed co"
|
||||
+ " WHERE co.cnt_contract_key = c.cnt_contract_key)"
|
||||
+ " AND NOT EXISTS (SELECT cnt_contract_key"
|
||||
+ " FROM cnt_contract_object co"
|
||||
+ " WHERE co.cnt_contract_key = c.cnt_contract_key"
|
||||
+ " AND co.cnt_ins_deel_key IS NOT NULL)" // alleen de contracten met objecten uitsluiten. Niet de contracten met contractsoorten uitsluiten.
|
||||
+ " AND boom.prs_afdeling_key = c.prs_afdeling_key_eig";
|
||||
|
||||
// Autorisatie voor PRS (cnt_contract.prs_afdeling_key_eig)
|
||||
sql_scopeloos = discx3d (sql_scopeloos,
|
||||
"c.ins_discipline_key",
|
||||
"", // regio not supported
|
||||
"", // district not supported
|
||||
"", // locatie not supported
|
||||
"", // gebouw not supported
|
||||
"", // verdieping not supported
|
||||
"", // ruimte not supported
|
||||
"boom.prs_bedrijf_key",
|
||||
"boom.prs_afdeling_key",
|
||||
pautfunction,
|
||||
(cntsrt_key? cntsrt_key : ""),
|
||||
1);
|
||||
|
||||
// En de contracten waarvan ik eigenaar of beheerder ben, ook al zouden die verder buiten de scope vallen
|
||||
sql_mine = "SELECT cnt_contract_key FROM cnt_contract WHERE c.prs_perslid_key_beh = " + user_key + " OR c.prs_perslid_key_eig = " + user_key;
|
||||
|
||||
sql = sql + " AND c.cnt_contract_key IN (" + sql_scope + " UNION ALL " + sql_scopeloos + " UNION ALL " + sql_mine + ")";
|
||||
+ (grp_sel == ""
|
||||
? ""
|
||||
: " AND ins_discipline_omschrijving = " + safe.quoted_sql(grp_sel))
|
||||
|
||||
// Op datum (c.cnt_contract_looptijd_tot) sorteren: UWVA#13274 en daarbinnen op c.cnt_contract_nummer en c.cnt_contract_nummer_intern: UWVA#14609
|
||||
sql += " ORDER BY" + (excel? " UPPER("+ lcl.xsql('cd.ins_discipline_omschrijving','cd.ins_discipline_key') +")," : "")
|
||||
+ " c.cnt_contract_looptijd_tot"
|
||||
+ " , c.cnt_contract_nummer"
|
||||
+ " , c.cnt_contract_nummer_intern";
|
||||
|
||||
return sql;
|
||||
},
|
||||
|
||||
findSenderForNotifications: function (cnt_key)
|
||||
{
|
||||
var sql = "SELECT MAX (cd.ins_discipline_email) email"
|
||||
|
||||
@@ -95,37 +95,6 @@ function cnt_list (pautfunction, params)
|
||||
var print = (outputmode == 1 || outputmode == 5);
|
||||
var excel = (outputmode == 2 || outputmode == 6);
|
||||
var showall = params.showall;
|
||||
|
||||
var cntsrt_key = params.cntsrt_key;
|
||||
var cntnum = params.cntnum;
|
||||
var dienst_key = params.dienst_key;
|
||||
var uitvoerder_key = params.uitvoerder_key;
|
||||
var cnt_persoon_key = params.cnt_persoon_key;
|
||||
var eigenaar_key = params.eigenaar_key;
|
||||
var manager_key = params.manager_key;
|
||||
var beheerder_key = params.beheerder_key;
|
||||
var reg_key = params.reg_key;
|
||||
var dist_key = params.dist_key;
|
||||
var loc_key = params.loc_key;
|
||||
var bld_key = params.bld_key;
|
||||
var objectsrt_key = params.objectsrt_key;
|
||||
var mantel_key = params.mantel_key;
|
||||
var descript = params.descript;
|
||||
var ins_key = params.ins_key;
|
||||
var kp_key = params.kp_key;
|
||||
var ksgrp_key = params.ksgrp_key;
|
||||
var ks_key = params.ks_key;
|
||||
// Statussen.
|
||||
var cntAct = params.cntAct;
|
||||
var cntInact = params.cntInact;
|
||||
var cntNew = params.cntNew;
|
||||
var cntTgoe = params.cntTgoe;
|
||||
// Fases binnen status Acief
|
||||
var cntFFutu = params.cntFFutu;
|
||||
var cntFAct = params.cntFAct;
|
||||
var cntFRap = params.cntFRap;
|
||||
var cntFOpz = params.cntFOpz;
|
||||
var cntFVerl = params.cntFVerl;
|
||||
%>
|
||||
|
||||
<html>
|
||||
@@ -143,419 +112,7 @@ function cnt_list (pautfunction, params)
|
||||
var tbl = new Array();
|
||||
var dts = new Array();
|
||||
|
||||
// Voeg laatste tracking datum toe
|
||||
sqltrack = ", (SELECT MAX(t.fac_tracking_datum)"
|
||||
+ " FROM fac_tracking t"
|
||||
+ " , fac_srtnotificatie sn"
|
||||
+ " WHERE t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key"
|
||||
+ " AND t.fac_tracking_refkey = c.cnt_contract_key" // contract key uit "sql"
|
||||
+ " AND sn.fac_srtnotificatie_xmlnode = 'contract') recentdatum";
|
||||
|
||||
sql = "SELECT c.cnt_contract_nummer"
|
||||
+ " , c.cnt_contract_versie"
|
||||
+ " , c.cnt_contract_omschrijving"
|
||||
+ " , c.cnt_contract_document"
|
||||
+ " , COALESCE(b.prs_bedrijf_naam, af" + S("prs_dep_string") + ", " + S("prs_pers_string") + ") uitvoerder" // af + S("prs_dep_string") heeft parameter afd.
|
||||
+ " , " + S("prs_dep_string") + " eigenaar"
|
||||
+ " , c.cnt_contract_looptijd_van begindatum"
|
||||
+ " , c.cnt_contract_looptijd_tot einddatum"
|
||||
+ " , cnt.cnt_getOpzegdatum(c.cnt_contract_key) cnt_opzegdatum"
|
||||
+ " , cnt.cnt_getRappeldatum(c.cnt_contract_key) cnt_rappeldatum"
|
||||
+ " , cnt.cnt_contract_status("
|
||||
+ " c.cnt_contract_looptijd_van"
|
||||
+ " , cnt.cnt_getRappeldatum(c.cnt_contract_key)"
|
||||
+ " , cnt.cnt_getOpzegdatum(c.cnt_contract_key)"
|
||||
+ " , c.cnt_contract_looptijd_tot) fase_actief"
|
||||
+ " , c.cnt_contract_status"
|
||||
+ " , c.cnt_contract_key cnt_contract_key"
|
||||
+ " , COALESCE(c.ins_discipline_key, -1) disc_key"
|
||||
+ " , c.prs_afdeling_key_eig eigenaar_key"
|
||||
+ " , c.cnt_contract_nummer_intern"
|
||||
+ " , dp.cnt_srtcontract_type"
|
||||
+ " , alg_locatie_oms"
|
||||
+ " , alg_locatie_omschrijving"
|
||||
+ " , alg_district_omschrijving"
|
||||
+ " , alg_locatie_code"
|
||||
+ " , alg_locatie_count"
|
||||
+ " , c.ins_discipline_key"
|
||||
+ " , " + lcl.xsqla('cd.ins_discipline_omschrijving','cd.ins_discipline_key')
|
||||
+ " , c.cnt_contract_kosten"
|
||||
+ " , di.prs_dienst_omschrijving"
|
||||
+ " , (SELECT " + S("prs_kpn_string")
|
||||
+ " FROM prs_kostenplaats k"
|
||||
+ " WHERE k.prs_kostenplaats_key = c.prs_kostenplaats_key) kostenplaats"
|
||||
+ sqltrack
|
||||
+ " FROM prs_v_aanwezigbedrijf b"
|
||||
+ " , cnt_v_aanwezigcontract c"
|
||||
+ " , prs_dienst di"
|
||||
+ (ksgrp_key
|
||||
? " , prs_kostensoort ks"
|
||||
: "")
|
||||
+ " , prs_v_afdeling d"
|
||||
+ " , prs_v_afdeling afd"
|
||||
+ " , prs_perslid p"
|
||||
+ " , alg_district ad"
|
||||
+ " , cnt_disc_params dp"
|
||||
+ " , cnt_discipline cd";
|
||||
|
||||
// Om drie redenen hebben we de locatie_key nodig in de hoofd query
|
||||
// - Voor als de gebruiker filtert op locatie (optioneel)
|
||||
// - Voor als de gebruiker beperkte autorisatie heeft (optioneel)
|
||||
// - Om de locatieomschrijving in de lijst te kunnen tonen (niet bij maninfo)
|
||||
// Voor die eerste twee is sql_cnt_loc_keyA die bij contracten met meerdere locaties alles bevat
|
||||
// Voor de tweede is sql_cnt_loc_key die groeppeert en telt per locatie
|
||||
// LET OP: - type 4 (algemeen / generiek) zit er niet in
|
||||
sql_cnt_loc_keyA = " SELECT cp.cnt_contract_key"
|
||||
+ " , cp.cnt_alg_plaats_key alg_locatie_key"
|
||||
+ " FROM cnt_contract_plaats cp"
|
||||
+ " WHERE cnt_alg_plaats_code = 'L'"
|
||||
+ " UNION ALL"
|
||||
+ " SELECT cp.cnt_contract_key"
|
||||
+ " , g.alg_locatie_key"
|
||||
+ " FROM cnt_contract_plaats cp, alg_gebouw g"
|
||||
+ " WHERE cnt_alg_plaats_code = 'G'"
|
||||
+ " AND cp.cnt_alg_plaats_key = g.alg_gebouw_key"
|
||||
+ " UNION ALL"
|
||||
+ " SELECT cp.cnt_contract_key"
|
||||
+ " , t.alg_locatie_key"
|
||||
+ " FROM cnt_contract_plaats cp, alg_terreinsector t"
|
||||
+ " WHERE cnt_alg_plaats_code = 'T'"
|
||||
+ " AND cp.cnt_alg_plaats_key = t.alg_terreinsector_key"
|
||||
+ " UNION ALL"
|
||||
+ " SELECT co.cnt_contract_key"
|
||||
+ " , d.ins_alg_locatie_key"
|
||||
+ " FROM cnt_contract_object co"
|
||||
+ " , ins_deel d"
|
||||
+ " WHERE co.cnt_ins_deel_key = d.ins_deel_key"
|
||||
+ " UNION ALL"
|
||||
+ " SELECT co.cnt_contract_key"
|
||||
+ " , g.alg_locatie_key"
|
||||
+ " FROM cnt_contract_onrgoed co"
|
||||
+ " , alg_gebouw g"
|
||||
+ " , alg_verdieping v"
|
||||
+ " , alg_ruimte r"
|
||||
+ " WHERE co.alg_onrgoed_niveau = 'R'"
|
||||
+ " AND co.alg_onrgoed_key = r.alg_ruimte_key"
|
||||
+ " AND r.alg_verdieping_key = v.alg_verdieping_key"
|
||||
+ " AND v.alg_gebouw_key = g.alg_gebouw_key"
|
||||
+ " UNION ALL"
|
||||
+ " SELECT co.cnt_contract_key"
|
||||
+ " , t.alg_locatie_key"
|
||||
+ " FROM cnt_contract_onrgoed co, alg_terreinsector t"
|
||||
+ " WHERE co.alg_onrgoed_niveau = 'T'"
|
||||
+ " AND co.alg_onrgoed_key = t.alg_terreinsector_key";
|
||||
|
||||
sql_cnt_loc_key = "SELECT MIN(alg_locatie_omschrijving || ' (' || alg_locatie_code || ')') alg_locatie_oms"
|
||||
+ " , MIN(alg_locatie_omschrijving) alg_locatie_omschrijving"
|
||||
+ " , MIN(alg_locatie_code) alg_locatie_code"
|
||||
+ " , MIN(alg_district_key) alg_district_key"
|
||||
+ " , cnt_contract_key"
|
||||
+ " , MIN(ll.alg_locatie_key) alg_locatie_key"
|
||||
+ " , COUNT(distinct alg_locatie_code) alg_locatie_count"
|
||||
+ " FROM alg_locatie ll"
|
||||
+ " , (" + sql_cnt_loc_keyA + ") scloc"
|
||||
+ " WHERE ll.alg_locatie_key = scloc.alg_locatie_key"
|
||||
+ " GROUP BY cnt_contract_key";
|
||||
|
||||
|
||||
sql += ", (" + sql_cnt_loc_key + ") cloc";
|
||||
|
||||
sql += " WHERE b.prs_bedrijf_key(+) = c.cnt_prs_bedrijf_key"
|
||||
+ " AND c.cnt_prs_afdeling_key = afd.prs_afdeling_key(+)"
|
||||
+ " AND c.cnt_prs_perslid_key = p.prs_perslid_key(+)"
|
||||
+ " AND c.prs_dienst_key = di.prs_dienst_key(+)"
|
||||
+ " AND d.prs_afdeling_key = c.prs_afdeling_key_eig"
|
||||
+ " AND c.ins_discipline_key = dp.cnt_ins_discipline_key"
|
||||
+ " AND c.ins_discipline_key = cd.ins_discipline_key"
|
||||
+ " AND cloc.cnt_contract_key(+) = c.cnt_contract_key"
|
||||
+ " AND cloc.alg_district_key = ad.alg_district_key(+)";
|
||||
|
||||
if (cntsrt_key)
|
||||
{
|
||||
sql += " AND c.ins_discipline_key = " + cntsrt_key;
|
||||
}
|
||||
|
||||
sql += getKenmerkSql("CNT", "c.cnt_contract_key", true);
|
||||
// Dienst
|
||||
if (dienst_key)
|
||||
{
|
||||
sql += " AND (c.prs_dienst_key = " + dienst_key
|
||||
+ " OR (c.prs_dienst_key IS NULL "
|
||||
+ " AND EXISTS (SELECT '' FROM prs_bedrijfdienstlocatie dl "
|
||||
+ " WHERE dl.prs_bedrijf_key = b.prs_bedrijf_key AND dl.prs_dienst_key = " + dienst_key +")))";
|
||||
}
|
||||
|
||||
// Uitvoerder
|
||||
if (uitvoerder_key)
|
||||
{
|
||||
sql += " AND b.prs_bedrijf_key = " + uitvoerder_key;
|
||||
}
|
||||
|
||||
// Persoon (Contractpartij)
|
||||
if (cnt_persoon_key)
|
||||
{
|
||||
sql += " AND c.cnt_prs_perslid_key = " + cnt_persoon_key;
|
||||
}
|
||||
|
||||
// Mantel
|
||||
if (mantel_key)
|
||||
{
|
||||
sql += " AND c.cnt_contract_mantel_key = " + mantel_key;
|
||||
}
|
||||
|
||||
// Afdeling (Eigenaar)
|
||||
if (eigenaar_key)
|
||||
{
|
||||
sql += " AND c.prs_afdeling_key_eig = " + eigenaar_key;
|
||||
}
|
||||
|
||||
// Verantwoordelijk manager
|
||||
if (manager_key)
|
||||
{
|
||||
sql += " AND c.prs_perslid_key_eig = " + manager_key;
|
||||
}
|
||||
|
||||
// Beheerder
|
||||
if (beheerder_key)
|
||||
{
|
||||
sql += " AND c.prs_perslid_key_beh = " + beheerder_key;
|
||||
}
|
||||
|
||||
// Regio, District, Locatie en gebouw
|
||||
if (bld_key)
|
||||
{
|
||||
sql_bld = bld_key;
|
||||
sql_loc = loc_key;
|
||||
}
|
||||
else if (loc_key)
|
||||
{
|
||||
sql_loc = loc_key;
|
||||
}
|
||||
else if (dist_key)
|
||||
{
|
||||
sql_loc = "SELECT alg_locatie_key FROM alg_locatie WHERE alg_district_key = " + dist_key;
|
||||
}
|
||||
else if (reg_key)
|
||||
{
|
||||
sql_loc = "SELECT alg_locatie_key FROM alg_locatie l, alg_district d WHERE l.alg_district_key = d.alg_district_key AND d.alg_regio_key = " + reg_key;
|
||||
}
|
||||
|
||||
// Merk op dat we hier niet kunnen verwijzen naar cloc binnen sql omdat die MIN(alg_locatie_key) en MIN(alg_gebouw_key) bevat
|
||||
if (reg_key || dist_key || loc_key)
|
||||
{
|
||||
sql += " AND c.cnt_contract_key IN"
|
||||
+ " (SELECT cnt_contract_key FROM cnt_v_aanwezigcontract_plaats"
|
||||
+ " WHERE (cnt_alg_plaats_code = 'L' AND cnt_alg_plaats_key IN (" + sql_loc + "))";
|
||||
if (bld_key)
|
||||
{
|
||||
sql += " OR (cnt_alg_plaats_code = 'G' AND cnt_alg_plaats_key = "
|
||||
+ bld_key
|
||||
+ ") OR (cnt_alg_plaats_code = 'T' AND cnt_alg_plaats_key = "
|
||||
+ bld_key + ")";
|
||||
}
|
||||
else
|
||||
{
|
||||
sql += " OR (cnt_alg_plaats_code = 'G' AND cnt_alg_plaats_key IN "
|
||||
+ " (SELECT alg_gebouw_key FROM alg_v_aanweziggebouw WHERE alg_locatie_key IN (" + sql_loc + "))"
|
||||
+ " OR cnt_alg_plaats_code = 'T' AND cnt_alg_plaats_key IN "
|
||||
+ " (SELECT alg_terreinsector_key FROM alg_v_aanwezigterreinsector WHERE alg_locatie_key IN (" + sql_loc + ")))";
|
||||
}
|
||||
sql += " UNION SELECT cnt_contract_key FROM cnt_v_aanwezigcontract_object co, ins_v_aanwezigdeel ad"
|
||||
+ " WHERE cnt_ins_deel_key = ad.ins_deel_key AND ad.ins_alg_locatie_key IN (" + sql_loc + ")";
|
||||
|
||||
sql += " UNION SELECT cnt_contract_key FROM cnt_v_contract_locatie_geg cl"
|
||||
+ " WHERE alg_locatie_key IN (" + sql_loc + "))";
|
||||
}
|
||||
|
||||
// Objectsoort
|
||||
if (objectsrt_key)
|
||||
{
|
||||
sql += " AND c.cnt_contract_key IN "
|
||||
+ " (SELECT cnt_contract_key FROM cnt_v_aanwezigcontract_object"
|
||||
+ " WHERE cnt_ins_srtdeel_key = " + objectsrt_key +")";
|
||||
// we assume that srtdeel is defined if deel is defined. It is.
|
||||
// + " OR cnt_ins_deel_key IN "
|
||||
// + "(SELECT ins_deel_key FROM ins_v_aanwezigdeel WHERE ins_srtdeel_key = " + objectsrt_key + "))";
|
||||
}
|
||||
if (ins_key)
|
||||
{
|
||||
sql += " AND c.cnt_contract_key IN "
|
||||
+ " (SELECT DISTINCT cnt_contract_key"
|
||||
+ " FROM (SELECT cnt_contract_key"
|
||||
+ " FROM cnt_contract_object"
|
||||
+ " WHERE cnt_ins_deel_key =" + ins_key + ""
|
||||
+ " UNION"
|
||||
+ " SELECT co.cnt_contract_key"
|
||||
+ " FROM CNT_V_AANWEZIGCONTRACT_OBJECT co,"
|
||||
+ " ins_deel d,"
|
||||
+ " cnt_v_aanwezigcontract_plaats ccp,"
|
||||
+ " alg_v_allonroerendgoed aao"
|
||||
+ " WHERE cnt_ins_deel_key IS NULL"
|
||||
+ " AND co.cnt_ins_srtdeel_key = d.ins_srtdeel_key"
|
||||
+ " AND d.ins_deel_key =" + ins_key + ""
|
||||
+ " AND ccp.cnt_contract_key = co.cnt_contract_key"
|
||||
+ " AND COALESCE (d.ins_alg_ruimte_type_org,"
|
||||
+ " ins_alg_ruimte_type) = 'R'"
|
||||
+ " AND COALESCE (d.ins_alg_ruimte_key_org,"
|
||||
+ " ins_alg_ruimte_key) = aao.alg_ruimte_key"
|
||||
+ " AND ( (ccp.cnt_alg_plaats_code = 'L'"
|
||||
+ " AND ccp.cnt_alg_plaats_key = aao.alg_locatie_key)"
|
||||
+ " OR (ccp.cnt_alg_plaats_code = 'G'"
|
||||
+ " AND ccp.cnt_alg_plaats_key = aao.alg_gebouw_key))"
|
||||
+ " UNION"
|
||||
+ " SELECT co.cnt_contract_key"
|
||||
+ " FROM CNT_V_AANWEZIGCONTRACT_OBJECT co, ins_deel d"
|
||||
+ " WHERE cnt_ins_deel_key IS NULL"
|
||||
+ " AND co.cnt_ins_srtdeel_key = d.ins_srtdeel_key"
|
||||
+ " AND d.ins_deel_key =" + ins_key + ""
|
||||
+ " AND (co.cnt_contract_key NOT IN"
|
||||
+ " (SELECT cnt_contract_key"
|
||||
+ " FROM cnt_v_aanwezigcontract_plaats)"
|
||||
+ " OR COALESCE (d.ins_alg_ruimte_type_org,"
|
||||
+ " ins_alg_ruimte_type) != 'R')))";
|
||||
}
|
||||
|
||||
if (kp_key)
|
||||
{
|
||||
sql += " AND c.prs_kostenplaats_key = " + kp_key;
|
||||
}
|
||||
|
||||
if (ksgrp_key)
|
||||
{
|
||||
sql += " AND c.prs_kostensoort_key = ks.prs_kostensoort_key"
|
||||
+ " AND ks.prs_kostensoortgrp_key = " + ksgrp_key;
|
||||
}
|
||||
|
||||
if (ks_key)
|
||||
{
|
||||
// Ook die van het contractsoort beschouwen, het gaat om de geldende ks, niet per se de geregistreerde
|
||||
// deze is niks sneller: sql += " AND (c.prs_kostensoort_key = " + ks_key + " OR (cd.prs_kostensoort_key = " + ks_key + " AND c.prs_kostensoort_key IS NULL))";
|
||||
sql += " AND COALESCE(c.prs_kostensoort_key, cd.prs_kostensoort_key) = " + ks_key;
|
||||
}
|
||||
|
||||
// Beschrijving
|
||||
if (descript)
|
||||
{
|
||||
sql += " AND UPPER(c.cnt_contract_omschrijving) LIKE " + safe.quoted_sql_wild("%"+descript+"%");
|
||||
}
|
||||
|
||||
// we don't use status field because we don't have mechanism to change its value
|
||||
// in case of mld_melding status was changed as the result of user's actions
|
||||
// here it gets changed as the result of current date changing
|
||||
|
||||
// Contract number
|
||||
if (cntnum)
|
||||
{
|
||||
sql += " AND (UPPER(c.cnt_contract_nummer) LIKE " + safe.quoted_sql_wild(cntnum + "%")
|
||||
+ " OR UPPER(c.cnt_contract_nummer_intern) LIKE " + safe.quoted_sql_wild(cntnum + "%") + ")";
|
||||
}
|
||||
else
|
||||
{
|
||||
var statussen = "";
|
||||
var komma = ", ";
|
||||
var actief = false;
|
||||
var sqlactief = "";
|
||||
if (cntAct)
|
||||
{
|
||||
//statussen = "0", en dan ook naar de fases binnen de status Actief kijken.
|
||||
sqlactief += " (c.cnt_contract_status = 0"
|
||||
+ cnt.getfaseconditionsql({cntffutu: cntFFutu, cntfact: cntFAct, cntfrap: cntFRap, cntfopz: cntFOpz, cntfverl: cntFVerl})
|
||||
+ ")";
|
||||
}
|
||||
if (cntInact)
|
||||
statussen += "1";
|
||||
if (cntNew)
|
||||
statussen += (statussen != ""? komma : "") + "2";
|
||||
if (cntTgoe)
|
||||
statussen += (statussen != ""? komma : "") + "3";
|
||||
var sqlINT = statussen == ""? "" : " (c.cnt_contract_status IN (" + statussen + "))";
|
||||
|
||||
if (sqlactief != "" && sqlINT != "")
|
||||
sql += " AND (" + sqlactief + " OR" + sqlINT + ")";
|
||||
else if (sqlactief != "" || sqlINT != "")
|
||||
sql += " AND" + sqlactief + sqlINT; // <20><>n van beide is een lege string.
|
||||
else
|
||||
sql += " AND 1 = 0";
|
||||
}
|
||||
|
||||
// scope
|
||||
// sql bevat al wel een alg_locatie_key maar er zit een group-by (en een MIN) in
|
||||
// wat te streng is voor scope
|
||||
// Daarom teruggrijpen op sql_cnt_loc_keyA die nog geen group-by op contract heeft gedaan
|
||||
sql_scope = " SELECT cnt_contract_key"
|
||||
+ " FROM ("
|
||||
+ " SELECT cc.cnt_contract_key"
|
||||
+ ", ins_discipline_key"
|
||||
+ ", di.alg_regio_key"
|
||||
+ ", ll.alg_district_key"
|
||||
+ ", clk.alg_locatie_key"
|
||||
+ " FROM (" + sql_cnt_loc_keyA + ") clk"
|
||||
+ ", cnt_contract cc"
|
||||
+ ", alg_locatie ll"
|
||||
+ ", alg_district di"
|
||||
+ " WHERE cc.cnt_contract_key = clk.cnt_contract_key"
|
||||
+ " AND ll.alg_locatie_key(+) = clk.alg_locatie_key" // persoons/afdelingsgebonden objecten hebben geen ins_alg_locatie_key vandaar (+)
|
||||
+ " AND ll.alg_district_key = di.alg_district_key(+)" // persoons/afdelingsgebonden objecten hebben geen ins_alg_locatie_key vandaar (+)
|
||||
+ ") sc"
|
||||
+ ", prs_v_afdeling_boom boom"
|
||||
+ " WHERE boom.prs_afdeling_key = c.prs_afdeling_key_eig";
|
||||
|
||||
// Autorisatie voor ALG (cnt_contract_plaats) en PRS (cnt_contract.prs_afdeling_key_eig)
|
||||
sql_scope = discx3d (sql_scope,
|
||||
"sc.ins_discipline_key",
|
||||
"sc.alg_regio_key",
|
||||
"sc.alg_district_key",
|
||||
"sc.alg_locatie_key",
|
||||
"sc.alg_gebouw_key",
|
||||
"", // verdieping not supported
|
||||
"", // ruimte not supported
|
||||
"boom.prs_bedrijf_key",
|
||||
"boom.prs_afdeling_key",
|
||||
pautfunction,
|
||||
(!cntnum && cntsrt_key? cntsrt_key : ""),
|
||||
2);
|
||||
|
||||
// Scopeloos contract of nog geen scope toegekend. Alleen disc en eigenaar controleren
|
||||
sql_scopeloos = "SELECT cnt_contract_key"
|
||||
+ " FROM cnt_contract c"
|
||||
+ ", prs_v_afdeling_boom boom"
|
||||
+ " WHERE NOT EXISTS (SELECT cnt_contract_key"
|
||||
+ " FROM cnt_contract_plaats cp"
|
||||
+ " WHERE cp.cnt_contract_key = c.cnt_contract_key)"
|
||||
+ " AND NOT EXISTS (SELECT cnt_contract_key"
|
||||
+ " FROM cnt_contract_onrgoed co"
|
||||
+ " WHERE co.cnt_contract_key = c.cnt_contract_key)"
|
||||
+ " AND NOT EXISTS (SELECT cnt_contract_key"
|
||||
+ " FROM cnt_contract_object co"
|
||||
+ " WHERE co.cnt_contract_key = c.cnt_contract_key"
|
||||
+ " AND co.cnt_ins_deel_key IS NOT NULL)" // alleen de contracten met objecten uitsluiten. Niet de contracten met contractsoorten uitsluiten.
|
||||
+ " AND boom.prs_afdeling_key = c.prs_afdeling_key_eig";
|
||||
|
||||
// Autorisatie voor PRS (cnt_contract.prs_afdeling_key_eig)
|
||||
sql_scopeloos = discx3d (sql_scopeloos,
|
||||
"c.ins_discipline_key",
|
||||
"", // regio not supported
|
||||
"", // district not supported
|
||||
"", // locatie not supported
|
||||
"", // gebouw not supported
|
||||
"", // verdieping not supported
|
||||
"", // ruimte not supported
|
||||
"boom.prs_bedrijf_key",
|
||||
"boom.prs_afdeling_key",
|
||||
pautfunction,
|
||||
(cntsrt_key? cntsrt_key : ""),
|
||||
1);
|
||||
|
||||
// En de contracten waarvan ik eigenaar of beheerder ben, ook al zouden die verder buiten de scope vallen
|
||||
sql_mine = "SELECT cnt_contract_key FROM cnt_contract WHERE c.prs_perslid_key_beh = " + user_key + " OR c.prs_perslid_key_eig = " + user_key;
|
||||
|
||||
sql = sql + " AND c.cnt_contract_key IN (" + sql_scope + " UNION ALL " + sql_scopeloos + " UNION ALL " + sql_mine + ")";
|
||||
|
||||
// Op datum (c.cnt_contract_looptijd_tot) sorteren: UWVA#13274 en daarbinnen op c.cnt_contract_nummer en c.cnt_contract_nummer_intern: UWVA#14609
|
||||
sql += " ORDER BY" + (excel? " UPPER("+ lcl.xsql('cd.ins_discipline_omschrijving','cd.ins_discipline_key') +")," : "")
|
||||
+ " c.cnt_contract_looptijd_tot"
|
||||
+ ", c.cnt_contract_nummer"
|
||||
+ ", c.cnt_contract_nummer_intern";
|
||||
var sql = cnt.getfromwherelist_sql(pautfunction, params);
|
||||
|
||||
var count = 0;
|
||||
var bReado;
|
||||
|
||||
@@ -45,8 +45,11 @@ for (var i = 0; i < autoopen.length; i++)
|
||||
"/" + autoopen[i].u == autoopenurl ||
|
||||
autoopen[i].u == "../../" + autoopenurl)
|
||||
{
|
||||
autoopen.splice(i, 1);
|
||||
removed = true;
|
||||
if (JSON.stringify(filters) == JSON.stringify(autoopen[i].f))
|
||||
{
|
||||
autoopen.splice(i, 1);
|
||||
removed = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
result = { success: true, toaster: L("lcl_current_tab_unsaved")};
|
||||
|
||||
@@ -79,7 +79,7 @@ if (api_key > 0)
|
||||
|
||||
function api_submit_callback(json)
|
||||
{
|
||||
window.navigate("fac_show_api.asp?api_key=" + json.api_key);
|
||||
window.location.href = "fac_show_api.asp?api_key=" + json.api_key;
|
||||
}
|
||||
|
||||
function doSubmit()
|
||||
|
||||
@@ -163,7 +163,8 @@ var authparams = user.checkAutorisation("WEB_INSUSE");
|
||||
+ " AND idsc.ins_deelsrtcontrole_key = (SELECT MAX(idsc2.ins_deelsrtcontrole_key)"
|
||||
+ " FROM ins_deelsrtcontrole idsc2"
|
||||
+ " WHERE idsc2.ins_deel_key = di.ins_deel_key"
|
||||
+ " AND idsc2.ins_srtcontrole_key = di.ins_srtcontrole_key))";
|
||||
+ " AND idsc2.ins_srtcontrole_key = di.ins_srtcontrole_key"
|
||||
+ " AND idsc2.ins_deelsrtcontrole_status IN (5, 6)))";
|
||||
|
||||
var sql = "SELECT *"
|
||||
+ " FROM (WITH defined_inspect AS (SELECT id.ins_srtdeel_key srtdeel_key"
|
||||
|
||||
@@ -522,7 +522,8 @@ function ins_list (pautfunction, params)
|
||||
+ " AND idsc.ins_deelsrtcontrole_key = (SELECT MAX(idsc2.ins_deelsrtcontrole_key)"
|
||||
+ " FROM ins_deelsrtcontrole idsc2"
|
||||
+ " WHERE idsc2.ins_deel_key = di.ins_deel_key"
|
||||
+ " AND idsc2.ins_srtcontrole_key = di.ins_srtcontrole_key))";
|
||||
+ " AND idsc2.ins_srtcontrole_key = di.ins_srtcontrole_key"
|
||||
+ " AND idsc2.ins_deelsrtcontrole_status IN (5, 6)))";
|
||||
|
||||
// Eerstvolgende inspectie
|
||||
var sqlNext = "SELECT ins_deel_key"
|
||||
@@ -1512,7 +1513,7 @@ function ins_list (pautfunction, params)
|
||||
var dtsoon = new Date;
|
||||
dtsoon.setDate(dtsoon.getDate() + S("ins_inspect_soon_days"));
|
||||
dtsoon.setHours(0,0,0,0); // trunc datum
|
||||
var dtlate = new Date().setHours(0,0,0,0);
|
||||
var dtlate = new Date(new Date().setHours(0,0,0,0));
|
||||
|
||||
if (dt >= dtsoon)
|
||||
return lclass; // meer dan S("ins_inspect_soon_days") dagen in de toekomst
|
||||
|
||||
@@ -167,7 +167,6 @@ var FcltMgr =
|
||||
var a = $(tab).find("a");
|
||||
if (a.length)
|
||||
{
|
||||
var waspinned = $(tab).find("span.tabpinned").length > 0;
|
||||
var href = $( a ).attr( "href" );
|
||||
var ttl = $( a ).find("span:first").text();
|
||||
if (href.indexOf("#" > 0))
|
||||
@@ -195,12 +194,15 @@ var FcltMgr =
|
||||
url = url.substr(0, url.indexOf("&fcltfilters="));
|
||||
var data =
|
||||
{ autoopenurl: url,
|
||||
autoopenttl: ttl,
|
||||
filters: filters,
|
||||
tab: tab
|
||||
}
|
||||
var waspinned = $(tab).find("span.tabpinned").length > 0;
|
||||
if (waspinned)
|
||||
FcltMgr._pageManager.fnDoSave(url, data); // Vrijgeven
|
||||
{
|
||||
data.filters = frm.fcltfilters; // deze moet je vrijgeven
|
||||
FcltMgr._pageManager.fnDoSave(ttl, data); // Vrijgeven geen Prompt
|
||||
}
|
||||
else
|
||||
fcltPrompt(L("lcl_current_tab"), ttl, FcltMgr._pageManager.fnDoSave, { data: data });
|
||||
|
||||
|
||||
@@ -2671,6 +2671,7 @@ mld = {setmeldingstatus:
|
||||
// Voor notities geldt ja/nee autorisatie voor de WEB_MLDXXX autorisatie functies.
|
||||
mresult.canWriteNotes = (mresult.canRead("WEB_MLDFOF") ||
|
||||
mresult.canRead("WEB_MLDBOF") ||
|
||||
mresult.canRead("WEB_MLDBO3") ||
|
||||
(mresult.canFEread && fenotes > 0) ||
|
||||
mresult.canRead("WEB_MLDBAC"));
|
||||
mresult.canReadNotes = mresult.canWriteNotes || S("mld_note_mode") == 2;
|
||||
|
||||
@@ -40,7 +40,6 @@ var maybeDouble = getFParamInt("maybeDouble", 0) == 1;
|
||||
var urole = getFParam("urole", "bo");
|
||||
|
||||
var opmerk = getFParam("opmerk", "");
|
||||
var has_opmerk = hasFParam("opmerk");
|
||||
var behandelaar_key = getFParamInt("sBehandel", user_key);
|
||||
|
||||
// Geen autfunction bepaald. Je komt bij FIN niet binnen met een bepaalde rol (urole).
|
||||
@@ -86,15 +85,14 @@ for (var i = 0; i < ingesloten.length; i++)
|
||||
var setLines = [];
|
||||
if (ingesloten[i].saveBehandelaar)
|
||||
setLines.push("mld_melding_behandelaar_key = " + behandelaar_key);
|
||||
if (has_opmerk)
|
||||
if (opmerk)
|
||||
{
|
||||
if (S("mld_note_mode") == 2)
|
||||
{
|
||||
note_save(ingesloten[i].mld_key,
|
||||
opmerk,
|
||||
{ isFE: false,
|
||||
zichtFE: true, /* altijd */
|
||||
AuthDone: true // Ik heb Acceptatie rechten. Ik mag dan ook notities opslaan in de mode mld_note_mode=2. Controle of ik notitie op mag slaan is niet meer nodig.
|
||||
zichtFE: true /* altijd */
|
||||
});
|
||||
}
|
||||
else
|
||||
|
||||
@@ -15,12 +15,9 @@ function note_save(mld_key, note, params)
|
||||
var mld_info = mld.mld_melding_info(mld_key);
|
||||
lcl.set_dialect(mld_info.srtdisc, "MLD_SRTDISCIPLINE_KEY");
|
||||
|
||||
if (!params.AuthDone)
|
||||
{
|
||||
var mfe = mld.func_enabled_melding (mld_key);
|
||||
// Heb ik rechten om notities te wijzigen?
|
||||
user.auth_required_or_abort(mfe.canWriteNotes);
|
||||
}
|
||||
var mfe = mld.func_enabled_melding (mld_key);
|
||||
// Heb ik rechten om notities te wijzigen?
|
||||
user.auth_required_or_abort(mfe.canWriteNotes);
|
||||
|
||||
var eigenMelding = user_key == mld_info.melder_key || user.isCollega(mld_info.melder_key);
|
||||
|
||||
|
||||
@@ -819,11 +819,11 @@ if (!frontend && srtdisc > -1)
|
||||
{
|
||||
if (flagkey == 0)
|
||||
{
|
||||
%><label for="flag0"><input type="checkbox" name="flag0" checked> <%=safe.html(L("lcl_mld_flag0"))%></label><br>
|
||||
%><label for="flag0"><input type="checkbox" name="flag0" id="flag0" checked> <%=safe.html(L("lcl_mld_flag0"))%></label><br>
|
||||
<% }
|
||||
else
|
||||
{
|
||||
%><label for="flag<%=flagkey%>"><input type="checkbox" name="flag<%=flagkey%>" checked><img src='../Pictures/mldflag<%=flagkey%>.png'> <%=safe.html(L("lcl_mld_flag"+flagkey))%></label><br>
|
||||
%><label for="flag<%=flagkey%>"><input type="checkbox" name="flag<%=flagkey%>" id="flag<%=flagkey%>" checked><img src='../Pictures/mldflag<%=flagkey%>.png'> <%=safe.html(L("lcl_mld_flag"+flagkey))%></label><br>
|
||||
<% }
|
||||
} %>
|
||||
</td>
|
||||
|
||||
@@ -251,7 +251,7 @@ var afgehandeld = (mld_info.mld_status == 1 || mld_info.mld_status == 5 || mld_i
|
||||
edittm = "<img src='../pictures/wijzigen.png' onclick='mld_notechange(" + last_note_key + ")' class='details' title='" + L("lcl_change") + "'></img>";
|
||||
var cls = " mldnoteedit";
|
||||
}
|
||||
if (safehtml.length > S("rs_maxchar"))
|
||||
if (safehtml.length > S("rs_maxchar") * 5)
|
||||
{
|
||||
safehtml = "<div class='notetoggler'>{0}</div>".format(safehtml)
|
||||
+ "<span class='notetoggler'>" + L("lcl_rs_truncated") + "</span>";
|
||||
|
||||
@@ -330,7 +330,6 @@ if (urole != "fe" && canWrite)
|
||||
buttons.push({title: L("lcl_mlduren_approve"), icon: "close.png", action:"weekDone(true)"});
|
||||
else if (canWrite && !anyKlaar)
|
||||
buttons.push({title: L("lcl_mlduren_close"), icon: "finish.png", action:"weekDone(false)"});
|
||||
buttons.push({title: L("lcl_close_window"), icon: "undo.png", action:"FcltMgr.closeDetail(window, {refresh: anyChange})"});
|
||||
|
||||
IFRAMER_HEADER(urole == "fe"? L("lcl_menu_mld_uren_fe") : (urole == "fo"? L("lcl_menu_mld_uren_fo") : L("lcl_menu_mld_uren_bo")), buttons);
|
||||
%>
|
||||
|
||||
@@ -4,17 +4,20 @@
|
||||
$Id$
|
||||
|
||||
File: pda/cnt_list.asp
|
||||
Description: Toont een beknopte contractenlijst voor op de pda, dat zijn de aan mij toegekende (beheerder of contact) contracten
|
||||
Hiervoor heb ik verder geen aanvullende autorisatie nodig.
|
||||
Description: Toont de actuele contractenlijst voor op de pda.
|
||||
Dat zijn contracten met scopen, contracten zonder scope en de aan mij toegekende (beheerder of contact) contracten.
|
||||
Nu met volledige autorisatie/scope.
|
||||
|
||||
Parameters: -
|
||||
Context: -
|
||||
|
||||
Note: Wellicht tzt met volledige autorisatie/scope e.d, maar eerst maar eens zo
|
||||
Note: -
|
||||
*/
|
||||
%>
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/discx3d.inc" -->
|
||||
<!-- #include file="../Shared/getkenmerksql.inc" -->
|
||||
<!-- #include file="../cnt/cnt.inc" -->
|
||||
<!-- #include file="./resultset_table.inc" -->
|
||||
<!-- #include file="./mobile.inc" -->
|
||||
<!-- #include file="./iface.inc" -->
|
||||
@@ -24,65 +27,54 @@ var grp_sel = getQParam("grp", "");
|
||||
var qrc = getQParamInt("qrc", 0) != 0;
|
||||
var subject = L("lcl_mobile_contracten");
|
||||
|
||||
var urole = getQParamSafe("urole", "bo");
|
||||
var autfunction = (urole == "fe" ? "WEB_CNTUSE" : "WEB_CNTMAN");
|
||||
|
||||
%>
|
||||
<html><head>
|
||||
<% FCLTMHeader.Generate({}); %>
|
||||
</head><body>
|
||||
<html>
|
||||
<head>
|
||||
<% FCLTMHeader.Generate({}); %>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<%
|
||||
function fncolLink(oRs)
|
||||
{
|
||||
var url = "";
|
||||
if (grp_sel == "")
|
||||
url = "../pda/cnt_list.asp?grp=" + safe.url(oRs("ins_discipline_omschrijving").Value);
|
||||
else
|
||||
url = "../pda/contract.asp?cnt_key=" + oRs("cnt_contract_key").Value;
|
||||
return url;
|
||||
};
|
||||
function fnHeader (oRs) {
|
||||
return oRs("cnt_contract_nummer_intern").value + (oRs("cnt_contract_versie").value == null ? "" : "."+oRs("cnt_contract_versie").value);
|
||||
}
|
||||
function fnBedrag (oRs) {
|
||||
return oRs("cnt_contract_kosten").value ? S("currency_pref")+safe.curr(oRs("cnt_contract_kosten").value) : "";
|
||||
}
|
||||
function fncolSubHeader(oRs) {
|
||||
return "<div class='listbodykop'>" + toDateString(oRs("begindatum").value, true) + " " + L("lcl_tot") + " " + toDateString(oRs("einddatum").value, true) +"</div>"
|
||||
+ (oRs("cnt_contract_omschrijving").Value? "<div class='listbodytext'>" +safe.html(shorttxt(oRs("cnt_contract_omschrijving").Value, S("rs_mobile_maxchar")))+"</div>":"");
|
||||
};
|
||||
function fncolLink(oRs)
|
||||
{
|
||||
var url = "";
|
||||
if (grp_sel == "")
|
||||
url = "../pda/cnt_list.asp?grp=" + safe.url(oRs("ins_discipline_omschrijving").Value);
|
||||
else
|
||||
url = "../pda/contract.asp?cnt_key=" + oRs("cnt_contract_key").Value;
|
||||
return url;
|
||||
};
|
||||
|
||||
function fnEinddatum (oRs) {
|
||||
return toDateString(oRs("einddatum").value, false);
|
||||
}
|
||||
sql = "SELECT c.cnt_contract_key"
|
||||
+ " , " + lcl.xsqla('cd.ins_discipline_omschrijving','cd.ins_discipline_key')
|
||||
+ " , c.cnt_contract_nummer_intern"
|
||||
+ " , c.cnt_contract_versie"
|
||||
+ " , c.cnt_contract_omschrijving"
|
||||
+ " , COALESCE(b.prs_bedrijf_naam, " + S("prs_dep_string") + ", " + S("prs_pers_string") + ") uitvoerder"
|
||||
+ " , c.cnt_contract_looptijd_van begindatum"
|
||||
+ " , c.cnt_contract_looptijd_tot einddatum"
|
||||
+ " , c.cnt_contract_status"
|
||||
+ " , c.cnt_contract_kosten"
|
||||
+ " FROM prs_bedrijf b"
|
||||
+ " , cnt_v_aanwezigcontract c"
|
||||
+ " , prs_v_afdeling d"
|
||||
+ " , prs_perslid p"
|
||||
+ " , cnt_discipline cd"
|
||||
+ " WHERE b.prs_bedrijf_key(+) = c.cnt_prs_bedrijf_key"
|
||||
+ " AND c.cnt_prs_afdeling_key = d.prs_afdeling_key(+)"
|
||||
+ " AND c.cnt_prs_perslid_key = p.prs_perslid_key(+)"
|
||||
+ " AND c.ins_discipline_key = cd.ins_discipline_key"
|
||||
+ " AND (c.prs_perslid_key_beh = " + user_key
|
||||
+ " OR c.prs_perslid_key_eig = " + user_key + ")"
|
||||
+ " AND c.cnt_contract_status = 0"
|
||||
// toekomstig ook + " AND c.cnt_contract_looptijd_van <= SYSDATE"
|
||||
+ " AND c.cnt_contract_looptijd_tot >= SYSDATE";
|
||||
sql = "SELECT * FROM (" + sql + ")"
|
||||
+ (grp_sel==""
|
||||
? ""
|
||||
: " WHERE ins_discipline_omschrijving = " + safe.quoted_sql(grp_sel)
|
||||
)
|
||||
+ " ORDER BY ins_discipline_omschrijving, uitvoerder, cnt_contract_omschrijving, cnt_contract_nummer_intern";
|
||||
function fnHeader (oRs)
|
||||
{
|
||||
return oRs("cnt_contract_nummer_intern").value + (oRs("cnt_contract_versie").value == null ? "" : "."+oRs("cnt_contract_versie").value);
|
||||
}
|
||||
|
||||
function fnBedrag (oRs)
|
||||
{
|
||||
return oRs("cnt_contract_kosten").value ? S("currency_pref")+safe.curr(oRs("cnt_contract_kosten").value) : "";
|
||||
}
|
||||
|
||||
function fncolSubHeader(oRs)
|
||||
{
|
||||
return "<div class='listbodykop'>" + toDateString(oRs("begindatum").value, true) + " " + L("lcl_tot") + " " + toDateString(oRs("einddatum").value, true) +"</div>"
|
||||
+ (oRs("cnt_contract_omschrijving").Value? "<div class='listbodytext'>" +safe.html(shorttxt(oRs("cnt_contract_omschrijving").Value, S("rs_mobile_maxchar")))+"</div>":"");
|
||||
};
|
||||
|
||||
function fnEinddatum (oRs)
|
||||
{
|
||||
return toDateString(oRs("einddatum").value, false);
|
||||
}
|
||||
|
||||
var params = {urole: urole,
|
||||
grp_sel: grp_sel,
|
||||
cntAct: true, // Alleen actieve contracten tonen.
|
||||
cntFAct: true // Alleen actuele contracten tonen.
|
||||
};
|
||||
var sql = cnt.getfromwherelist_sql(autfunction, params);
|
||||
|
||||
PAGE_START();
|
||||
HEADER({title: subject, back:!qrc});
|
||||
|
||||
@@ -2350,6 +2350,11 @@ input.materiaal
|
||||
width: 206px;
|
||||
}
|
||||
|
||||
#uitvoerendelist_button
|
||||
{
|
||||
width: 197px;
|
||||
}
|
||||
|
||||
#mod_substitutes .button, #scfcolpicker .button, #sleRuimteList .button, #prodsearchsearch, #mod_bijlagen .button, #showbookmark .button {
|
||||
width: auto;
|
||||
}
|
||||
@@ -2423,6 +2428,10 @@ input.materiaal
|
||||
input.materiaal {
|
||||
width: 328px;
|
||||
}
|
||||
|
||||
#uitvoerendelist_button {
|
||||
width: 319px;
|
||||
}
|
||||
|
||||
.fldresroom {
|
||||
width: 326px !important;
|
||||
@@ -3207,7 +3216,7 @@ span.notapproved {
|
||||
}
|
||||
|
||||
input.suggest::-ms-clear, input#autofilter::-ms-clear, input#menufilter::-ms-clear,
|
||||
input#materiallist_button::-ms-clear, input.suggestBusy::-ms-clear, input.fldflexF::-ms-clear
|
||||
input#materiallist_button::-ms-clear, input.suggestBusy::-ms-clear, input.fldflexF::-ms-clear, #uitvoerendelist_button::-ms-clear
|
||||
{
|
||||
width : 0;
|
||||
height: 0;
|
||||
|
||||
@@ -1297,7 +1297,10 @@ END:VCALENDAR
|
||||
<table border="0" width="100%" cellpadding="2">
|
||||
<tr>
|
||||
<td colspan="2" class="caption" style="padding-top:20px;padding-bottom:20px">
|
||||
<b><xsl:value-of select="//lcl/MLD/melding"/> <xsl:value-of select="discipline/srtdiscipline/prefix"/><xsl:value-of select="key"/></b>
|
||||
<b>
|
||||
<xsl:value-of select="//lcl/MLD/melding"/> <xsl:value-of select="discipline/srtdiscipline/prefix"/><xsl:value-of select="key"/>
|
||||
<xsl:if test="onderwerp != ''">: <xsl:value-of select="onderwerp"/></xsl:if>
|
||||
</b>
|
||||
</td>
|
||||
<td colspan="2" class="caption" style="padding-top:20px;padding-bottom:20px">
|
||||
<xsl:if test="spoed<3">
|
||||
|
||||
@@ -854,35 +854,24 @@
|
||||
<xsl:if test="plaats/regio/district/locatie/gebouw/verdieping/omschrijving!=''">(<xsl:value-of select="plaats/regio/district/locatie/gebouw/verdieping/omschrijving"/>)</xsl:if>
|
||||
</td>
|
||||
</xsl:if>
|
||||
<td width="16%" align="right">
|
||||
<xsl:choose>
|
||||
<xsl:when test="//language='NL'">
|
||||
<b>Doorlooptijd:</b>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<b>
|
||||
<xsl:value-of select="//lcl/MLD/uitvoertijd"/>:</b>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</td>
|
||||
<xsl:choose>
|
||||
<xsl:when test="uitvoertijd[@eenheid='U']">
|
||||
<td width="16%" align="right">
|
||||
<b><xsl:value-of select="//lcl/MLD/uitvoertijd"/>:</b>
|
||||
</td>
|
||||
<td width="34%">
|
||||
<xsl:value-of select="uitvoertijd"/> <xsl:value-of select="//lcl/MLD/uren"/>
|
||||
</td>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<td width="16%" align="right">
|
||||
<b><xsl:value-of select="//lcl/MLD/uitvoertijd"/>:</b>
|
||||
</td>
|
||||
<td width="34%">
|
||||
<xsl:value-of select="uitvoertijd"/> <xsl:value-of select="//lcl/FAC/dagen"/>
|
||||
</td>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:choose>
|
||||
<xsl:when test="uitvoertijd[@eenheid='U']">
|
||||
<td width="16%" align="right">
|
||||
<b><xsl:value-of select="//lcl/MLD/uitvoertijd"/>:</b>
|
||||
</td>
|
||||
<td width="34%">
|
||||
<xsl:value-of select="uitvoertijd"/> <xsl:value-of select="//lcl/MLD/uren"/>
|
||||
</td>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<td width="16%" align="right">
|
||||
<b><xsl:value-of select="//lcl/MLD/uitvoertijd"/>:</b>
|
||||
</td>
|
||||
<td width="34%">
|
||||
<xsl:value-of select="uitvoertijd"/> <xsl:value-of select="//lcl/FAC/dagen"/>
|
||||
</td>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</tr>
|
||||
<tr>
|
||||
<xsl:if test="plaats/@type='R'">
|
||||
@@ -953,6 +942,13 @@
|
||||
</tr>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
<!-- Melding key 146 = aanvraag extra sleutel-->
|
||||
<xsl:if test="stdmelding/key='146'">
|
||||
<tr>
|
||||
<td colspan="4"><br/>When you have lost your key Nyenrode will place a new lock in the door. Nyenrode will charge you €80,00 for this new lock, which will be deducted from you deposit.
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
<xsl:if test="count(deel)>0">
|
||||
<xsl:for-each select="deel">
|
||||
<xsl:sort select="omschrijving"/>
|
||||
@@ -2388,7 +2384,7 @@
|
||||
<xsl:value-of select="sum(//rsv_ruimte/prijs)*1.21 + sum(//rsv_deel/prijs)*1.21 + sum(//rsv_artikel[res_artikel/discipline/key='462' or res_artikel/discipline/key='581']/prijs)"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="sum(//rsv_ruimte/prijs)*1.21 + sum(//rsv_deel/prijs)*1.21 + sum(//rsv_artikel/prijs)"/>
|
||||
<xsl:value-of select="sum(//rsv_ruimte/prijs) + sum(//rsv_deel/prijs)*1.21 + sum(//rsv_artikel/prijs)"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
@@ -2566,4 +2562,8 @@
|
||||
</TR>
|
||||
</TABLE>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet><!-- Stylesheet edited using Stylus Studio - (c) 2004-2007. Progress Software Corporation. All rights reserved. --><!-- Stylesheet edited using Stylus Studio - (c) 2004-2007. Progress Software Corporation. All rights reserved. --><!-- Stylesheet edited using Stylus Studio - (c) 2004-2007. Progress Software Corporation. All rights reserved. -->
|
||||
</xsl:stylesheet><!-- Stylesheet edited using Stylus Studio - (c) 2004-2007. Progress Software Corporation. All rights reserved. --><!-- Stylesheet edited using Stylus Studio - (c) 2004-2007. Progress Software Corporation. All rights reserved. --><!-- Stylesheet edited using Stylus Studio - (c) 2004-2007. Progress Software Corporation. All rights reserved. --><!-- 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="..\..\..\TEMP\NYBU_files\reservering15969_20160510101603.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>
|
||||
-->
|
||||
@@ -1,6 +1,6 @@
|
||||
REM GEN_EXPORT_FACTUUR.BAT
|
||||
REM
|
||||
REM Exporteert informatie naar een export-bestand en genereert de factuut
|
||||
REM Exporteert informatie naar een export-bestand en genereert de factuur
|
||||
REM
|
||||
REM Context : roep deze file aan indien nodig, of schedule deze
|
||||
REM Verseist: de randvoorwaarde voor het gebruik van gen_export
|
||||
@@ -19,3 +19,10 @@ CALL ..\..\..\utils\gen_export\gen_export.bat EXACT_KWARTAAL
|
||||
|
||||
CALL ..\..\..\utils\gen_export\gen_export.bat EXACT_JAAR
|
||||
|
||||
copy .\EXACT\exact_20*.xml .\EXACT\backup
|
||||
del .\EXACT\exact_20*.xml
|
||||
CALL ..\..\..\utils\gen_export\gen_export.bat EXACT_OUTPUT
|
||||
|
||||
if not exist ".\EXACT\exact_20*.xml" goto einde
|
||||
cscript sendmailFactuur.vbs
|
||||
:einde
|
||||
19
CUST/PCHE/export/sendmailFactuur.vbs
Normal file
19
CUST/PCHE/export/sendmailFactuur.vbs
Normal file
@@ -0,0 +1,19 @@
|
||||
|
||||
Dim fso, folder, files
|
||||
Set fso = CreateObject("Scripting.FileSystemObject")
|
||||
|
||||
Set folder = fso.GetFolder("d:\Apps\Facilitor\Fplace5i\CUST\PCHE\export\EXACT")
|
||||
Set files = folder.Files
|
||||
For each folderIdx In files
|
||||
If InStrRev(folderIdx.Name, "exact_20") > 0 Then
|
||||
Set objEmail = CreateObject("CDO.Message")
|
||||
objEmail.From = "no_reply@pche.facilitor.nl"
|
||||
objEmail.To = "fa@pch-dienstengroep.nl;a.egberink@sgfacilitor.nl"
|
||||
objEmail.Subject = "Facilitor: Bestand met factuur gegevens Strijp-S"
|
||||
objEmail.Textbody = "Automatisch verzonden bestand van factuur gegevens."
|
||||
objEmail.AddAttachment "d:\Apps\Facilitor\Fplace5i\CUST\PCHE\export\EXACT\" + folderIdx.Name
|
||||
objEmail.Send
|
||||
End If
|
||||
Next
|
||||
|
||||
|
||||
Binary file not shown.
@@ -3321,33 +3321,47 @@ Wij verzoeken je <xsl:call-template name="kto_url"><xsl:with-param name="bmr">b<
|
||||
</tr>
|
||||
</xsl:if>
|
||||
<tr>
|
||||
<td height="10px"/>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tekstkop" colspan="4">Adres verzamelfactuur</td>
|
||||
<td class="tekstkop" colspan="4" style="padding-top:20px;">Factuur versturen naar het UWV</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="value" colspan="4">UWV - Accounting House Cred.</td>
|
||||
<td class="value" colspan="4" style="padding-top:10px;padding-bottom:10px;">
|
||||
Mail uw factuur als pdf-bestand naar
|
||||
<xsl:element name="a"><xsl:attribute name="href">mailto:pdf.crediteuren@uwv.nl</xsl:attribute>pdf.crediteuren@uwv.nl</xsl:element>.
|
||||
Meer informatie over e-factureren bij het UWV kunt u terugvinden via deze link:<br/><br/>
|
||||
<xsl:element name="a">
|
||||
<xsl:attribute name="href">http://www.uwv.nl/zakelijk/leveranciers/leveranciers-diensten-en-producten/e-factureren</xsl:attribute>http://www.uwv.nl/zakelijk/leveranciers/leveranciers-diensten-en-producten/e-factureren
|
||||
</xsl:element>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="value" colspan="4">Postbus 57025</td>
|
||||
<td class="value" colspan="4" style="padding-bottom:10px;">
|
||||
<table width="99%" style="background-color:#F2F2F2;border: 1px solid black">
|
||||
<tr>
|
||||
<td class="value">Uw factuur is gericht aan:</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="value" style="padding-top:10px">
|
||||
UWV<br/>
|
||||
FEZ - Accounting House - Crediteuren<br/>
|
||||
Postbus 57025<br/>
|
||||
1040 CZ Amsterdam
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="value" style="padding-top:10px">
|
||||
o.v.v de hierboven genoemde <b>kostenplaats</b> of het reeds bij u bekende <b>ordernummer</b>.<br/><br/>
|
||||
Zonder kostenplaats of ordernummer kunnen wij de factuur niet in behandeling nemen.
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="value" colspan="4">1040 CZ Amsterdam</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="10px"/>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="value" colspan="4">Onder vermelding van inkoop ordernummer: <xsl:value-of select="uitvoerende/bedrijf/overeenkomst_nr"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="40px"/>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5" style="text-align:center; font-size:9px">Op leveringen die gedaan zijn op basis van dit formulier zijn de inkoopvoorwaarden van UWV van toepassing.
|
||||
Indien sprake is van een mantelovereenkomst tussen de leverancier en UWV geschiedt deze order onder de bepaling uit de mantelovereenkomst.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4" style="text-align:center; font-size:9px; padding-top:40px;">
|
||||
Op leveringen die gedaan zijn op basis van dit formulier zijn de inkoopvoorwaarden van UWV van toepassing.
|
||||
Indien er sprake is van een mantelovereenkomst tussen de leverancier en UWV geschiedt deze order onder de bepaling uit de mantelovereenkomst.
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</TD>
|
||||
<TD WIDTH="30" ROWSPAN="30" ID="RECHTERMARGE"></TD>
|
||||
@@ -3802,35 +3816,47 @@ Wij verzoeken je <xsl:call-template name="kto_url"><xsl:with-param name="bmr">b<
|
||||
</tr>
|
||||
</xsl:if>
|
||||
<tr>
|
||||
<td height="10px"/>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tekstkop" colspan="4">Adres verzamelfactuur</td>
|
||||
<td class="tekstkop" colspan="4" style="padding-top:20px;">Factuur versturen naar het UWV</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="value" colspan="4">UWV - Accounting House Cred.</td>
|
||||
<td class="value" colspan="4" style="padding-top:10px;padding-bottom:10px;">
|
||||
Mail uw factuur als pdf-bestand naar
|
||||
<xsl:element name="a"><xsl:attribute name="href">mailto:pdf.crediteuren@uwv.nl</xsl:attribute>pdf.crediteuren@uwv.nl</xsl:element>.
|
||||
Meer informatie over e-factureren bij het UWV kunt u terugvinden via deze link:<br/><br/>
|
||||
<xsl:element name="a">
|
||||
<xsl:attribute name="href">http://www.uwv.nl/zakelijk/leveranciers/leveranciers-diensten-en-producten/e-factureren</xsl:attribute>http://www.uwv.nl/zakelijk/leveranciers/leveranciers-diensten-en-producten/e-factureren
|
||||
</xsl:element>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="value" colspan="4">Postbus 57025</td>
|
||||
<td class="value" colspan="4" style="padding-bottom:10px;">
|
||||
<table width="99%" style="background-color:#F2F2F2;border: 1px solid black">
|
||||
<tr>
|
||||
<td class="value">Uw factuur is gericht aan:</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="value" style="padding-top:10px">
|
||||
UWV<br/>
|
||||
FEZ - Accounting House - Crediteuren<br/>
|
||||
Postbus 57025<br/>
|
||||
1040 CZ Amsterdam
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="value" style="padding-top:10px">
|
||||
o.v.v de hierboven genoemde <b>kostenplaats</b> of het reeds bij u bekende <b>ordernummer</b>.<br/><br/>
|
||||
Zonder kostenplaats of ordernummer kunnen wij de factuur niet in behandeling nemen.
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="value" colspan="4">1040 CZ Amsterdam</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="10px"/>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="value" colspan="4">Onder vermelding van inkoop ordernummer: <xsl:value-of select="uitvoerende/bedrijf/overeenkomst_nr"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="40px"/>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5" style="text-align:center; font-size:9px">Op leveringen die gedaan zijn op basis van dit formulier zijn de inkoopvoorwaarden van UWV van toepassing.
|
||||
Indien sprake is van een mantelovereenkomst tussen de leverancier en UWV geschiedt deze order onder de bepaling uit de mantelovereenkomst.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4" style="text-align:center; font-size:9px; padding-top:40px;">
|
||||
Op leveringen die gedaan zijn op basis van dit formulier zijn de inkoopvoorwaarden van UWV van toepassing.
|
||||
Indien er sprake is van een mantelovereenkomst tussen de leverancier en UWV geschiedt deze order onder de bepaling uit de mantelovereenkomst.
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</TD>
|
||||
<TD WIDTH="30" ROWSPAN="30" ID="RECHTERMARGE"></TD>
|
||||
@@ -5897,33 +5923,47 @@ Wij verzoeken je <xsl:call-template name="kto_url"><xsl:with-param name="bmr">b<
|
||||
</tr>
|
||||
</xsl:if>
|
||||
<tr>
|
||||
<td height="10px"/>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tekstkop" colspan="4">Adres verzamelfactuur</td>
|
||||
<td class="tekstkop" colspan="4" style="padding-top:20px;">Factuur versturen naar het UWV</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="value" colspan="4">UWV - Accounting House Cred.</td>
|
||||
<td class="value" colspan="4" style="padding-top:10px;padding-bottom:10px;">
|
||||
Mail uw factuur als pdf-bestand naar
|
||||
<xsl:element name="a"><xsl:attribute name="href">mailto:pdf.crediteuren@uwv.nl</xsl:attribute>pdf.crediteuren@uwv.nl</xsl:element>.
|
||||
Meer informatie over e-factureren bij het UWV kunt u terugvinden via deze link:<br/><br/>
|
||||
<xsl:element name="a">
|
||||
<xsl:attribute name="href">http://www.uwv.nl/zakelijk/leveranciers/leveranciers-diensten-en-producten/e-factureren</xsl:attribute>http://www.uwv.nl/zakelijk/leveranciers/leveranciers-diensten-en-producten/e-factureren
|
||||
</xsl:element>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="value" colspan="4">Postbus 57025</td>
|
||||
<td class="value" colspan="4" style="padding-bottom:10px;">
|
||||
<table width="99%" style="background-color:#F2F2F2;border: 1px solid black">
|
||||
<tr>
|
||||
<td class="value">Uw factuur is gericht aan:</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="value" style="padding-top:10px">
|
||||
UWV<br/>
|
||||
FEZ - Accounting House - Crediteuren<br/>
|
||||
Postbus 57025<br/>
|
||||
1040 CZ Amsterdam
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="value" style="padding-top:10px">
|
||||
o.v.v de hierboven genoemde <b>kostenplaats</b> of het reeds bij u bekende <b>ordernummer</b>.<br/><br/>
|
||||
Zonder kostenplaats of ordernummer kunnen wij de factuur niet in behandeling nemen.
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="value" colspan="4">1040 CZ Amsterdam</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="10px"/>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="value" colspan="4">Onder vermelding van inkoop ordernummer: <xsl:value-of select="uitvoerende/bedrijf/overeenkomst_nr"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="40px"/>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5" style="text-align:center; font-size:9px">Op leveringen die gedaan zijn op basis van dit formulier zijn de inkoopvoorwaarden van UWV van toepassing.
|
||||
Indien sprake is van een mantelovereenkomst tussen de leverancier en UWV geschiedt deze order onder de bepaling uit de mantelovereenkomst.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4" style="text-align:center; font-size:9px; padding-top:40px;">
|
||||
Op leveringen die gedaan zijn op basis van dit formulier zijn de inkoopvoorwaarden van UWV van toepassing.
|
||||
Indien er sprake is van een mantelovereenkomst tussen de leverancier en UWV geschiedt deze order onder de bepaling uit de mantelovereenkomst.
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</TD>
|
||||
<TD WIDTH="30" ROWSPAN="30" ID="RECHTERMARGE"></TD>
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user