CARG#86011 kostensoort_opmerking ook in show-mode tonen, en minor refactoring aan kostensoortFilter.inc zodat (bijna) altijd verwijderde & vervallen kostensoorten buiten beschouwing worden gelaten

svn path=/Website/trunk/; revision=67417
This commit is contained in:
2024-12-17 12:19:37 +00:00
parent de0c44a1c7
commit 00a932966b
5 changed files with 44 additions and 56 deletions

View File

@@ -138,7 +138,8 @@ FCLTselector("kostgrp",
FCLTkostensoortselector("kostsrt",
"ks_key",
{ label: L("lcl_charge_type"),
whenEmpty: L("lcl_all")
whenEmpty: L("lcl_all"),
filtercode: "ALL"
});
sql = " SELECT prs_kostensoortgrp_key"

View File

@@ -32,7 +32,7 @@ var ksgrp_key = getQParamInt("ksgrp_key", -1);
var ref_key = getQParamInt("refkey", -1);
chars = chars.replace(/\*/g,"%");
var filtClause = getFiltClauseKostensoort(filtcode, ref_key);
var filtClause = getFiltClauseKostensoort(filtcode, { ref_key: ref_key });
var extraInf = getExtraInfKostensoort(extracode);
// Geen autorisatie bij kostensoorten (prs_kostensoort)

View File

@@ -12,64 +12,51 @@
<%
function getFiltClauseKostensoort(pfiltcode, prefkey)
function getFiltClauseKostensoort(pfiltcode, params)
{
params = params || {};
var lfiltClause = "";
if (pfiltcode && pfiltcode != "")
{
var kostensoort_key = -1;
var vervaldatum = new Date();
var sql = ""
switch(pfiltcode)
{
case 'C': // Kostensoort die gekoppeld zijn aan kostenplaatsgroep door middel van combinatie validatie
lfiltClause = " AND ks.prs_kostensoort_key IN (SELECT prs_kostensoort_key FROM prs_kostencombinatie)";
break;
case "FIN": if (prefkey > 0)
{
sql = "SELECT fin_factuur_datum vervaldatum"
+ " , prs_kostensoort_key"
+ " FROM fin_factuur"
+ " WHERE fin_factuur_key = " + prefkey;
}
break;
case "OPD": if (prefkey > 0)
{
sql = "SELECT mld_opdr_datumbegin vervaldatum"
+ " , prs_kostensoort_key"
+ " FROM mld_opdr"
+ " WHERE mld_opdr_key = " + prefkey;
}
break;
case "CNT": if (prefkey > 0)
{
sql = "SELECT cnt_contract_looptijd_tot vervaldatum"
+ " , prs_kostensoort_key"
+ " FROM cnt_contract"
+ " WHERE cnt_contract_key = " + prefkey;
}
break;
var kostensoort_key = params.kostensoortKey || -1;
var vervaldatum = "SYSDATE";
if (pfiltcode && pfiltcode != "") {
var sql = "";
if (params.ref_key > 0) {
switch (pfiltcode) {
case "FIN":
sql = "SELECT fin_factuur_datum vervaldatum"
+ " , prs_kostensoort_key"
+ " FROM fin_factuur"
+ " WHERE fin_factuur_key = " + params.ref_key;
break;
case "OPD":
sql = "SELECT mld_opdr_datumbegin vervaldatum"
+ " , prs_kostensoort_key"
+ " FROM mld_opdr"
+ " WHERE mld_opdr_key = " + params.ref_key;
break;
case "CNT":
sql = "SELECT cnt_contract_looptijd_tot vervaldatum"
+ " , prs_kostensoort_key"
+ " FROM cnt_contract"
+ " WHERE cnt_contract_key = " + params.ref_key;
break;
}
var oRs = Oracle.Execute(sql);
kostensoort_key = oRs("prs_kostensoort_key").Value || -1;
vervaldatum = (new Date(oRs("vervaldatum").Value)).toSQL();
oRs.Close();
}
}
if (prefkey == 0)
{
if (pfiltcode != "ALL") {
if (params.ref_key == 0) { // Dan mogen vervallen kostensoorten (blijkbaar) wel
lfiltClause = " AND prs_kostensoort_verwijder IS NULL";
}
else
{
var vervaldatum = "SYSDATE";
if (prefkey > -1)
{
var oRs = Oracle.Execute(sql);
kostensoort_key = oRs("prs_kostensoort_key").Value;
vervaldatum = (new Date(oRs("vervaldatum").Value)).toSQL();
oRs.Close();
}
lfiltClause = "AND ( ( prs_kostensoort_eind >= " + vervaldatum
+ " OR prs_kostensoort_eind IS NULL)"
+ " AND prs_kostensoort_verwijder IS NULL"
+ " OR prs_kostensoort_key = " + kostensoort_key + ")";
}
lfiltClause = "AND ( ( prs_kostensoort_eind >= " + vervaldatum
+ " OR prs_kostensoort_eind IS NULL)"
+ " AND prs_kostensoort_verwijder IS NULL"
+ (kostensoort_key > -1 ? " OR prs_kostensoort_key = " + kostensoort_key : "")
+ " )";
}
return lfiltClause;
}

View File

@@ -42,7 +42,7 @@ function FCLTkostensoortselector(fieldName, objectName, params)
var lextraInit = "";
if (params.kostensoortKey && params.kostensoortKey > 0)
{
var filtClause = getFiltClauseKostensoort(params.filtercode, params.refkey);
var filtClause = getFiltClauseKostensoort(params.filtercode, params);
//var extraInf = ", 'Extra' extra";
var extraInf = getExtraInfKostensoort(params.extracode);

View File

@@ -123,7 +123,7 @@ function foreignKeyTable(field)
"PRS_DIENST" : { tbl: "prs_dienst", key: "prs_dienst_key", desc: lcl.xsql('prs_dienst_omschrijving', 'prs_dienst_key') },
"PRS_KOSTENPLAATS" : { tbl: "prs_kostenplaats", key: "prs_kostenplaats_key", desc: S("prs_kpn_string"), alias: "k"},
"PRS_KOSTENPLAATSGRP" : { tbl: "prs_kostenplaatsgrp", key: "prs_kostenplaatsgrp_key", desc: "prs_kostenplaatsgrp_oms"},
"PRS_KOSTENSOORT" : { tbl: "prs_kostensoort", key: "prs_kostensoort_key", desc: "prs_kostensoort_oms"},
"PRS_KOSTENSOORT" : { tbl: "prs_kostensoort", key: "prs_kostensoort_key", desc: "prs_kostensoort_oms || '-' || " + lcl.xsql("prs_kostensoort_opmerking", "prs_kostensoort_key")},
"PRS_KOSTENSOORTGRP" : { tbl: "prs_kostensoortgrp", key: "prs_kostensoortgrp_key", desc: "prs_kostensoortgrp_oms"},
"PRS_PERSLID" : { tbl: "prs_v_perslid_fullnames_all", key: "prs_perslid_key", desc: "prs_perslid_naam_full"},
"PRS_SRTPERSLID" : { tbl: "prs_srtperslid", key: "prs_srtperslid_key", desc: "prs_srtperslid_omschrijving"},