CARG#85430 groupby=module toestaan (en werkend gemaakt) voor het fiatteringsoverzicht

svn path=/Website/trunk/; revision=70360
This commit is contained in:
2025-09-18 12:06:32 +00:00
parent 1121755416
commit 5348b32fd8
2 changed files with 51 additions and 26 deletions

View File

@@ -96,6 +96,8 @@ var dist_key_arr = getQParamKeyArray("districtkey", []); // District
var loc_key_arr = getQParamKeyArray("locatiekey", []); // Locatie
var bld_key_arr = getQParamKeyArray("gebouwkey", []); // Gebouw
var betreft = getQParamArray("betreft", []); // Betreft module BES, CNT, FIN, MLDOF of MLDOP.
var groupby = getQParamSafe("groupby", "");
var groupbymodule = groupby.toLowerCase() === "module";
if (!getOpen && !getClosed && !getRejected)
getOpen = true;
@@ -127,6 +129,7 @@ var params = { getopen: getOpen
, loc_key_arr: (loc_key_arr.length > 0? loc_key_arr : null)
, bld_key_arr: (bld_key_arr.length > 0? bld_key_arr : null)
, betreft: (betreft.length? betreft : null)
, groupbymodule: groupbymodule
}
FCLTHeader.Requires({ plugins: ["jQuery"], js: ["jquery-ui.js"] });
@@ -651,39 +654,43 @@ FCLTHeader.Requires({ plugins: ["jQuery"], js: ["jquery-ui.js"] });
}
var sql = fiattering_sql(params);
var rst = new ResultsetTable({keyColumn: "request_key",
var rst = new ResultsetTable({keyColumn: groupbymodule ? null : "request_key",
ID: "rfoTable",
sql: sql,
rowData: fnrowData,
rowActionEnabler: fnrowActionEnabler,
rowData: groupbymodule ? null : fnrowData,
rowActionEnabler: groupbymodule ? null : fnrowActionEnabler,
outputmode: outputmode,
filterParams: params,
showAll: showall,
emptySetString: L("lcl_rfo_no_items_to_approve")});
rst.addColumn(new Column({caption: "dummy", content: allowFiat, hidden: true}));
rst.addColumn(new Column({caption: "dummy", content: "module", hidden: true}));
rst.addColumn(new Column({caption: L("lcl_request_key"), content: fncolBesNr}));
rst.addColumn(new Column({caption: L("lcl_date"), content: "datum", datatype: "date"}));
rst.addColumn(new Column({caption: L("lcl_rfo_requestor"), content: "prs_perslid_naam_full", hasActions: true }));
rst.addColumn(new Column({caption: L("lcl_rfo_total_sum"), content: prepareTotal, datatype: "currency"}));
rst.addColumn(new Column({caption: L("lcl_rfo_type"), content: prepareModule}));
rst.addColumn(new Column({caption: L("lcl_handler"), content: "uitvoerende"}));
rst.addColumn(new Column({caption: L("lcl_rfo_category"), content: "categorie"}));
rst.addColumn(new Column({caption: L("lcl_bes_RFO_status"), content: fncolStatus}));
if (user.hasCollegas())
rst.addColumn(new Column({caption: L("lcl_bes_approver"), content: fncolfiatteur}));
rst.addColumn(new Column({caption: L("lcl_location"), content: "locatie"}));
rst.addColumn(new Column({caption: L("lcl_bld_terra"), content: fncolGebouwTerrein, combine: true}));
rst.addColumn(new Column({caption: L("lcl_descr"), content: "omschrijving"}));
rst.addAction({action: "fac_edit", caption: L("lcl_details"), isDefault: true});
rst.addAction({action: "fac_approve", caption: L("lcl_approve"), enabler: "eApprove", multi: true, multiOnce: true});
rst.addAction({action: "mld_show_goedkeurmodal", caption: L("lcl_goedkeur"), enabler: "eGoedkeur", multi: true, multiOnce: true});
rst.addAction({action: "fac_approve", caption: L("lcl_accept"), enabler: "eAccept", multi: true, multiOnce: true});
rst.addAction({action: "fac_reject", caption: L("lcl_reject"), enabler: "eReject", multi: true, multiOnce: true});
rst.addAction({action: "mld_instem", caption: L("lcl_instem"), enabler: "eInstem", multi: true, multiOnce: true});
if (groupbymodule) {
rst.addColumn(new Column({ caption: L("lcl_fac_module"), content: "module" }));
rst.addColumn(new Column({ caption: L("lcl_count"), content: "aantal" }));
} else {
rst.addColumn(new Column({caption: "dummy", content: allowFiat, hidden: true}));
rst.addColumn(new Column({caption: "dummy", content: "module", hidden: true}));
rst.addColumn(new Column({caption: L("lcl_request_key"), content: fncolBesNr}));
rst.addColumn(new Column({caption: L("lcl_date"), content: "datum", datatype: "date"}));
rst.addColumn(new Column({caption: L("lcl_rfo_requestor"), content: "prs_perslid_naam_full", hasActions: true }));
rst.addColumn(new Column({caption: L("lcl_rfo_total_sum"), content: prepareTotal, datatype: "currency"}));
rst.addColumn(new Column({caption: L("lcl_rfo_type"), content: prepareModule}));
rst.addColumn(new Column({caption: L("lcl_handler"), content: "uitvoerende"}));
rst.addColumn(new Column({caption: L("lcl_rfo_category"), content: "categorie"}));
rst.addColumn(new Column({caption: L("lcl_bes_RFO_status"), content: fncolStatus}));
if (user.hasCollegas())
rst.addColumn(new Column({caption: L("lcl_bes_approver"), content: fncolfiatteur}));
rst.addColumn(new Column({caption: L("lcl_location"), content: "locatie"}));
rst.addColumn(new Column({caption: L("lcl_bld_terra"), content: fncolGebouwTerrein, combine: true}));
rst.addColumn(new Column({caption: L("lcl_descr"), content: "omschrijving"}));
rst.addAction({action: "fac_edit", caption: L("lcl_details"), isDefault: true});
rst.addAction({action: "fac_approve", caption: L("lcl_approve"), enabler: "eApprove", multi: true, multiOnce: true});
rst.addAction({action: "mld_show_goedkeurmodal", caption: L("lcl_goedkeur"), enabler: "eGoedkeur", multi: true, multiOnce: true});
rst.addAction({action: "fac_approve", caption: L("lcl_accept"), enabler: "eAccept", multi: true, multiOnce: true});
rst.addAction({action: "fac_reject", caption: L("lcl_reject"), enabler: "eReject", multi: true, multiOnce: true});
rst.addAction({action: "mld_instem", caption: L("lcl_instem"), enabler: "eInstem", multi: true, multiOnce: true});
}
var cnt = rst.processResultset();
%>

View File

@@ -1627,8 +1627,26 @@ function fiattering_sql(params)
if (sqls.length == 0)
sql = "SELECT '1' aanvraagnummer, '2' sortdate FROM DUAL WHERE 1=0 ORDER BY sortdate, aanvraagnummer ASC"; // Geen resultaat.
else
else if (params.groupbymodule) {
for (var i = 0; i < sqls.length; i++) {
sqls[i] = "SELECT DECODE(module"
+ ", 'BES', " + safe.quoted_sql(L("lcl_fin_bestellingen"))
+ ", 'CNT', " + safe.quoted_sql(L("lcl_fin_contracten"))
+ ", 'MLD', " + safe.quoted_sql(L("lcl_fin_opdrachten"))
+ ", 'GOED', " + safe.quoted_sql(L("lcl_fin_opdrachten"))
+ ", 'OFFERTE', " + safe.quoted_sql(L("lcl_fin_offertes"))
+ ", 'FIN', " + safe.quoted_sql(L("lcl_fin_invoices"))
+ ", 'FIN2', " + safe.quoted_sql(L("lcl_fin_invoices"))
+ ", 'RES', " + safe.quoted_sql(L("lcl_fin_catering_order"))
+ ", 'MLDIN', " + safe.quoted_sql(L("lcl_mld_concepten")) + ") module"
+ " , COUNT(*) aantal"
+ " FROM (" + sqls[i] + ")"
+ " GROUP BY module";
sql = "SELECT * FROM (" + sqls.join(" UNION ALL ") + ")";
}
} else {
sql = "SELECT * FROM (" + sqls.join(" UNION ALL ") + ") ORDER BY sortdate, aanvraagnummer ASC";
}
return sql;
}