diff --git a/APPL/FAC/fac_fiattering_list.asp b/APPL/FAC/fac_fiattering_list.asp
index fec29583fe..3a71c4f00c 100644
--- a/APPL/FAC/fac_fiattering_list.asp
+++ b/APPL/FAC/fac_fiattering_list.asp
@@ -489,7 +489,7 @@ FCLTHeader.Requires({ plugins: ["jQuery"], js: ["jquery-ui.js"] });
case "CNT": return L("lcl_cnt_contract"); break;
case "MLD":
case "GOED": return L("lcl_shared_order") + "
" + safe.html(oRs("type").Value); break;
- case "OFFERTE": return safe.html(oRs("type").Value) + "
" + safe.html(oRs("uitvoerende").Value); break;
+ case "OFFERTE": return safe.html(oRs("type").Value); break;
case "FIN":
case "FIN2": return L("lcl_fin_factuur_type") + "
" + safe.html(oRs("type").Value); break;
default: INTERNAL_ERROR;
@@ -571,12 +571,14 @@ FCLTHeader.Requires({ plugins: ["jQuery"], js: ["jquery-ui.js"] });
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});
diff --git a/APPL/FAC/fac_fiattering_list.inc b/APPL/FAC/fac_fiattering_list.inc
index 7738a6936e..8d255b8683 100644
--- a/APPL/FAC/fac_fiattering_list.inc
+++ b/APPL/FAC/fac_fiattering_list.inc
@@ -78,6 +78,7 @@ function getSqlFiatBes(fiatstatus, prsKeys, params)
+ " , l.alg_locatie_omschrijving || ' (' || l.alg_locatie_code || ')' locatie"
+ " , NULL gebouw"
+ " , NULL terrein"
+ + " , NULL omschrijving"
+ " FROM prs_v_perslid_fullnames_all p"
+ " , bes_bestelling b"
+ " , " + v_sql_bestelling_bedrag + " prijs"
@@ -320,6 +321,7 @@ function getSqlFiatCnt(fiatstatus, prsKeys, params)
+ " ELSE NULL"
+ " END gebouw"
+ " , NULL terrein"
+ + " , c.cnt_contract_omschrijving omschrijving"
+ " FROM prs_v_perslid_fullnames_all p"
+ " , cnt_v_aanwezigcontract c"
+ " , ins_tab_discipline td"
@@ -423,69 +425,70 @@ function getSqlFiatMld(fiatstatus, prsKeys, params)
+ " END locatie"
+ " , g.alg_gebouw_code || ' ' || g.alg_gebouw_naam gebouw"
+ " , t.alg_terreinsector_code || ' ' || alg_terreinsector_naam terrein")
- + " FROM mld_melding m"
- + " , mld_stdmelding sm"
- + " , mld_opdr op"
- + " , mld_typeopdr ot"
- + " , prs_v_perslid_fullnames_all pf"
- + " , prs_kostenplaats k"
- + " , ins_tab_discipline td"
- + " , ins_srtdiscipline sd"
- + " , fac_tracking ft"
- + " , fac_srtnotificatie fno"
- + " , " + fac.getVSqlVerantwoordelijk(prsKeys) + "ver"
- + (fiatstatus == "open"
- ? " , prs_v_perslid_fullnames_all p2"
- : "")
- + " , alg_locatie l"
- + " , alg_v_allonroerendgoed onrg"
- + " , alg_v_aanweziggebouw g"
- + " , alg_terreinsector t"
- + " WHERE op.mld_melding_key = m.mld_melding_key"
- + " AND op.mld_typeopdr_key = ot.mld_typeopdr_key"
- + " AND COALESCE(op.prs_kostenplaats_key, m.prs_kostenplaats_key) = k.prs_kostenplaats_key" // Indien melding en opdracht geen kostenplaats hebben, dan ook niet fiateren en is de opdrachtstatus al "Uitgegeven"
- + " AND k.prs_kostenplaats_key = ver.prs_kostenplaats_key(+)"
- + " AND pf.prs_perslid_key = m.prs_perslid_key"
- + " AND ft.fac_tracking_refkey = op.mld_opdr_key"
- + " AND ft.fac_srtnotificatie_key = fno.fac_srtnotificatie_key"
- + " AND op.mld_melding_key = m.mld_melding_key"
- + " AND m.mld_stdmelding_key = sm.mld_stdmelding_key"
- + " AND sm.mld_ins_discipline_key = td.ins_discipline_key"
- + " AND sd.ins_srtdiscipline_key = td.ins_srtdiscipline_key"
- + " AND m.mld_alg_locatie_key = l.alg_locatie_key(+)"
- + " AND m.mld_alg_onroerendgoed_keys = onrg.alg_onroerendgoed_keys(+)"
- + " AND onrg.alg_gebouw_key = g.alg_gebouw_key(+)"
- + " AND onrg.alg_terreinsector_key = t.alg_terreinsector_key(+)"
- + (fiatstatus == "open"
- ? " AND fno.fac_srtnotificatie_code = 'ORDFIA'"// Er moe(s)t uberhaupt gefiatteerd worden
- + " AND op.mld_statusopdr_key = 3"
- // Door gebruik van de database functie fac.gettrackinguserkey (peventcode IN VARCHAR2, pkey IN NUMBER) in het WHERE statement
- // is de query zeer traag indien er vervangers zijn gedefinieerd (prsKeys bestaat uit meer dan 1 key).
- // Daarom de database functie fac.gettrackinguserkey (peventcode IN VARCHAR2, pkey IN NUMBER) uitgeschreven
- // fac_tracking en fac_srtnotificatie mee joinen duurder langer als onderstaande oplossing.
-/* A1 */ //+ " AND p2.prs_perslid_key = CASE WHEN fac.gettrackinguserkey('ORDFOK', op.mld_opdr_key) IS NULL "
-/* A1 */ + " AND p2.prs_perslid_key = CASE WHEN NOT EXISTS"
- + " (SELECT prs_perslid_key"
- + " FROM fac_tracking t"
- + " , fac_srtnotificatie st"
- + " WHERE t.fac_srtnotificatie_key = st.fac_srtnotificatie_key"
- + " AND st.fac_srtnotificatie_code = 'ORDFOK'"
- + " AND fac_tracking_refkey = op.mld_opdr_key"
- + " )"
- + " THEN prs.getkpverantwoordelijke (op.prs_kostenplaats_key, " + S("prs_approvemethod") + ", -1)"
-/* A2 */ + " ELSE ver.prs_perslid_key"
- + " END"
- + " AND p2.prs_perslid_key IN (" + prsKeys + ")" // Wel ORDFOK tracking aanwezig. Neem kostenplaatsgroepverantwoordelijke
- : " AND fno.fac_srtnotificatie_code = " + (fiatstatus == "close"? "'ORDFOK'" : "'ORDFNO'") // Er is gefiatteerd.
- + " AND ft.prs_perslid_key IN (" + prsKeys + ")") // Gefiatterd door jezelf of waarvoor je vervanger bent
- + (params.bld_key // sortering op gebouw, locatie of district
- ? " AND g.alg_gebouw_key = " + params.bld_key
- : (params.loc_key_arr
- ? " AND l.alg_locatie_key IN (" + params.loc_key_arr.join(",") + ")"
- : ""))
- + (params.opdrtype_key
- ? " AND ot.mld_typeopdr_key = " + params.opdrtype_key
- : "");
+ + " , m.mld_melding_omschrijving omschrijving"
+ + " FROM mld_melding m"
+ + " , mld_stdmelding sm"
+ + " , mld_opdr op"
+ + " , mld_typeopdr ot"
+ + " , prs_v_perslid_fullnames_all pf"
+ + " , prs_kostenplaats k"
+ + " , ins_tab_discipline td"
+ + " , ins_srtdiscipline sd"
+ + " , fac_tracking ft"
+ + " , fac_srtnotificatie fno"
+ + " , " + fac.getVSqlVerantwoordelijk(prsKeys) + "ver"
+ + (fiatstatus == "open"
+ ? " , prs_v_perslid_fullnames_all p2"
+ : "")
+ + " , alg_locatie l"
+ + " , alg_v_allonroerendgoed onrg"
+ + " , alg_v_aanweziggebouw g"
+ + " , alg_terreinsector t"
+ + " WHERE op.mld_melding_key = m.mld_melding_key"
+ + " AND op.mld_typeopdr_key = ot.mld_typeopdr_key"
+ + " AND COALESCE(op.prs_kostenplaats_key, m.prs_kostenplaats_key) = k.prs_kostenplaats_key" // Indien melding en opdracht geen kostenplaats hebben, dan ook niet fiateren en is de opdrachtstatus al "Uitgegeven"
+ + " AND k.prs_kostenplaats_key = ver.prs_kostenplaats_key(+)"
+ + " AND pf.prs_perslid_key = m.prs_perslid_key"
+ + " AND ft.fac_tracking_refkey = op.mld_opdr_key"
+ + " AND ft.fac_srtnotificatie_key = fno.fac_srtnotificatie_key"
+ + " AND op.mld_melding_key = m.mld_melding_key"
+ + " AND m.mld_stdmelding_key = sm.mld_stdmelding_key"
+ + " AND sm.mld_ins_discipline_key = td.ins_discipline_key"
+ + " AND sd.ins_srtdiscipline_key = td.ins_srtdiscipline_key"
+ + " AND m.mld_alg_locatie_key = l.alg_locatie_key(+)"
+ + " AND m.mld_alg_onroerendgoed_keys = onrg.alg_onroerendgoed_keys(+)"
+ + " AND onrg.alg_gebouw_key = g.alg_gebouw_key(+)"
+ + " AND onrg.alg_terreinsector_key = t.alg_terreinsector_key(+)"
+ + (fiatstatus == "open"
+ ? " AND fno.fac_srtnotificatie_code = 'ORDFIA'"// Er moe(s)t uberhaupt gefiatteerd worden
+ + " AND op.mld_statusopdr_key = 3"
+ // Door gebruik van de database functie fac.gettrackinguserkey (peventcode IN VARCHAR2, pkey IN NUMBER) in het WHERE statement
+ // is de query zeer traag indien er vervangers zijn gedefinieerd (prsKeys bestaat uit meer dan 1 key).
+ // Daarom de database functie fac.gettrackinguserkey (peventcode IN VARCHAR2, pkey IN NUMBER) uitgeschreven
+ // fac_tracking en fac_srtnotificatie mee joinen duurder langer als onderstaande oplossing.
+/* A1 */ //+ " AND p2.prs_perslid_key = CASE WHEN fac.gettrackinguserkey('ORDFOK', op.mld_opdr_key) IS NULL "
+/* A1 */ + " AND p2.prs_perslid_key = CASE WHEN NOT EXISTS"
+ + " (SELECT prs_perslid_key"
+ + " FROM fac_tracking t"
+ + " , fac_srtnotificatie st"
+ + " WHERE t.fac_srtnotificatie_key = st.fac_srtnotificatie_key"
+ + " AND st.fac_srtnotificatie_code = 'ORDFOK'"
+ + " AND fac_tracking_refkey = op.mld_opdr_key"
+ + " )"
+ + " THEN prs.getkpverantwoordelijke (op.prs_kostenplaats_key, " + S("prs_approvemethod") + ", -1)"
+/* A2 */ + " ELSE ver.prs_perslid_key"
+ + " END"
+ + " AND p2.prs_perslid_key IN (" + prsKeys + ")" // Wel ORDFOK tracking aanwezig. Neem kostenplaatsgroepverantwoordelijke
+ : " AND fno.fac_srtnotificatie_code = " + (fiatstatus == "close"? "'ORDFOK'" : "'ORDFNO'") // Er is gefiatteerd.
+ + " AND ft.prs_perslid_key IN (" + prsKeys + ")") // Gefiatterd door jezelf of waarvoor je vervanger bent
+ + (params.bld_key // sortering op gebouw, locatie of district
+ ? " AND g.alg_gebouw_key = " + params.bld_key
+ : (params.loc_key_arr
+ ? " AND l.alg_locatie_key IN (" + params.loc_key_arr.join(",") + ")"
+ : ""))
+ + (params.opdrtype_key
+ ? " AND ot.mld_typeopdr_key = " + params.opdrtype_key
+ : "");
return sql;
}
@@ -507,7 +510,9 @@ function getSqlGoedkeurMld(fiatstatus, prsKeys, params)
+ " , ' ' fiatteur" // dat kunnen er meerdere met WEB_ORDGOE zijn
+ " , NULL bes_bestelling_parentkey"
+ " , sd.ins_srtdiscipline_prefix prefix"
- + " , NULL uitvoerende"
+ + " , COALESCE((SELECT b.prs_bedrijf_naam FROM prs_bedrijf b WHERE b.prs_bedrijf_key = op.mld_uitvoerende_keys),"
+ + " COALESCE((SELECT " + S("prs_pers_string") + " FROM prs_perslid p WHERE p.prs_perslid_key = op.mld_uitvoerende_keys),"
+ + " '')) uitvoerende"
+ " , CASE "
+ " WHEN l.alg_locatie_key IS NULL"
+ " THEN NULL"
@@ -515,6 +520,7 @@ function getSqlGoedkeurMld(fiatstatus, prsKeys, params)
+ " END locatie"
+ " , g.alg_gebouw_code || ' ' || g.alg_gebouw_naam gebouw"
+ " , t.alg_terreinsector_code || ' ' || alg_terreinsector_naam terrein"
+ + " , op.mld_opdr_omschrijving omschrijving"
+ " FROM mld_melding m"
+ " , mld_disc_params mdp"
+ " , mld_stdmelding sm"
@@ -660,6 +666,7 @@ function getSqlAccAfwOff(params)
+ " END locatie"
+ " , g.alg_gebouw_code || ' ' || g.alg_gebouw_naam gebouw"
+ " , t.alg_terreinsector_code || ' ' || alg_terreinsector_naam terrein"
+ + " , o.mld_opdr_omschrijving omschrijving"
+ " FROM mld_melding m"
+ " , mld_stdmelding sm"
+ " , mld_opdr o"
@@ -781,6 +788,7 @@ function getSqlFiatFin(fiatstatus, prsKeys, params)
+ " THEN t.alg_terreinsector_code || ' ' || alg_terreinsector_naam"
+ " ELSE NULL" // f.bes_bestelopdr_key IS NOT NULL en f.cnt_contract_key IS NOT NULL
+ " END terrein"
+ + " , NULL omschrijving"
+ " FROM (SELECT prs.getkpverantwoordelijke(prs_kostenplaats_key, " + S("prs_approvemethod") + ", -1) budgethouder,"
+ " f.* FROM (select fin.getfactuurkostenplaats(f.fin_factuur_key) prs_kostenplaats_key, f.* from fin_factuur f) f) f"
+ " , prs_v_perslid_fullnames_all pf"