VGLD#64059: Geen fiatteur bekend.
svn path=/Website/trunk/; revision=48828
This commit is contained in:
@@ -669,7 +669,7 @@
|
||||
+ " , " + staffel_info.totaalbedrag
|
||||
+ " , sg.ins_discipline_key"
|
||||
+ " , COALESCE(b.bes_bestelling_fiatbedrag, 0)" // Bij een kpg fiatteur moeten we de volgende hebben en niet de laatste, daarom (fiatbedrag >= 0) meegeven.
|
||||
+ " ) fiatteur_kp_key"
|
||||
+ " ) fiatteur_kp_key" // De kostenplaats verantwoordelijke/fiatteur/budgethouder.
|
||||
+ " , kg.prs_perslid_key fiatteur_kpg_key"
|
||||
+ " , kg.prs_kostenplaatsgrp_fiat2_key"
|
||||
+ " , kg.prs_kostenplaatsgrp_fiat3_key"
|
||||
@@ -759,11 +759,23 @@
|
||||
var exclude_fiatter =
|
||||
bes_bestelling.bes_bestelling_fiat_user || (staffel_info.totaalbedrag <= S("can_selfapprove")? -1 : bes_bestelling.perslid_key);
|
||||
|
||||
var totaalbedrag = "(SELECT SUM(i1.bes_bestelling_item_aantal * COALESCE(i1.bes_bestelling_item_prijs, 0))"
|
||||
+ " FROM bes_bestelling_item i1"
|
||||
+ " WHERE i1.bes_bestelling_key = b.bes_bestelling_key)";
|
||||
|
||||
// Deze mag/hoeft niet meer te fiatteren
|
||||
var exclude_fiatter = " COALESCE(b.bes_bestelling_fiat_user, "
|
||||
+ " CASE"
|
||||
+ " WHEN " + totaalbedrag + " <= " + S("can_selfapprove")
|
||||
+ " THEN -1"
|
||||
+ " ELSE b.prs_perslid_key"
|
||||
+ " END)";
|
||||
|
||||
// Nu de info die indirect uit de bestelaanvraag regels afgeleid moet worden
|
||||
// Merk op dat het datamodel bestellingen uit meerdere catalogi ondersteund maar
|
||||
// de interface niet. Daarom kan hieronder de MAX(bsg.ins_discipline_key) om <20><>n record te krijgen
|
||||
var sql = "SELECT MAX(bsg.ins_discipline_key) ins_discipline_key"
|
||||
+ " , prs.nextfiatteur(" + bes_key + ", 'BES') fiatteur_key" // Voor de BES module wordt de pexcludekey toch niet gebruikt.
|
||||
+ " , prs.nextfiatteur(" + bes_key + ", 'BES', " + exclude_fiatter + ") fiatteur_key"
|
||||
+ " , SUM(bi.bes_bestelling_item_aantal * bi.bes_bestelling_item_prijs) totaal"
|
||||
+ " , SUM(bi.bes_bestelling_item_aantalontv) aantalontv"
|
||||
+ " , MAX(bsg.bes_srtgroep_key) bes_srtgroep_key" // Wordt gebruikt tbv. singlegroep en dan is er maar eentje
|
||||
@@ -776,7 +788,8 @@
|
||||
+ " , MAX(bdp.bes_disc_params_contract) bes_disc_params_contract"
|
||||
+ " , MIN(bsd.prs_bedrijf_key) prs_bedrijf_key"
|
||||
+ " , COUNT(DISTINCT prs_bedrijf_key) aantal_bedrijf"
|
||||
+ " FROM bes_bestelling_item bi"
|
||||
+ " FROM bes_bestelling b"
|
||||
+ " , bes_bestelling_item bi"
|
||||
+ " , bes_srtdeel bsd"
|
||||
+ " , bes_srtgroep bsg"
|
||||
+ " , bes_discipline bd"
|
||||
@@ -785,7 +798,11 @@
|
||||
+ " AND bsd.bes_srtgroep_key = bsg.bes_srtgroep_key"
|
||||
+ " AND bsg.ins_discipline_key = bd.ins_discipline_key"
|
||||
+ " AND bsg.ins_discipline_key = bdp.bes_ins_discipline_key"
|
||||
+ " AND bes_bestelling_key = " + bes_bestelling.bes_key;
|
||||
+ " AND bi.bes_bestelling_key = b.bes_bestelling_key"
|
||||
+ " AND b.bes_bestelling_key = " + bes_bestelling.bes_key
|
||||
+ " GROUP BY b.bes_bestelling_fiat_user"
|
||||
+ " , b.bes_bestelling_key"
|
||||
+ " , b.prs_perslid_key"
|
||||
oRs = Oracle.Execute(sql);
|
||||
|
||||
if (oRs("ins_discipline_key").Value == null)
|
||||
|
||||
@@ -156,7 +156,10 @@ for (var i = 0; i < ingesloten.length; i++)
|
||||
// Fiatteringsproces moet gevolgd worden op de naam van de "voor wie" (bestelling voor)
|
||||
// Als bes_disc_params_for_others niet is gezet zijn perslid_key en perslid_key_voor identiek
|
||||
// Haal de volgende kostenplaatsgroep verantwoordelijke/fiatteur op in de rij van drie. De kolom b.bes_bestelling_fiat_user is gevuld met de user_key.
|
||||
sql = "SELECT prs.nextfiatteur(b.bes_bestelling_key, 'BES') kpg_fiatteur_key" // Voor de BES module wordt de pexcludekey toch niet gebruikt.
|
||||
|
||||
// Als er al een keer is gefiatteerd (er is BESFIT tracking) dan doet nextfiatteur niets met pexcludekey parameter.
|
||||
// De functie nextfiatteur kijkt dan zelf welke kpg verantwoordelijke nu aan de beurt is.
|
||||
sql = "SELECT prs.nextfiatteur(b.bes_bestelling_key, 'BES') kpg_fiatteur_key"
|
||||
+ " FROM bes_bestelling b"
|
||||
+ " WHERE b.bes_bestelling_key = " + ingesloten[i].bes_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
@@ -177,4 +180,4 @@ for (var i = 0; i < ingesloten.length; i++)
|
||||
Response.Write(JSON.stringify(result));
|
||||
%>
|
||||
|
||||
<% ASPPAGE_END(); %>
|
||||
<% ASPPAGE_END(); %>
|
||||
|
||||
@@ -914,7 +914,7 @@ else // nieuwe bestelling. Defaults bepalen
|
||||
%> <tr id="buttons_tr"><td colspan="2">
|
||||
<div class="buttoncontainer besartbtns"><%
|
||||
buttons = [];
|
||||
buttons.push({tooltip: L("lcl_bes_add_btn"), "fa-cart-plus", xclass: "bescart", action:"AddFreeArticleItem('"+urole+"')"});
|
||||
buttons.push({tooltip: L("lcl_bes_add_btn"), icon: "fa-cart-plus", xclass: "bescart", action:"AddFreeArticleItem('"+urole+"')"});
|
||||
CreateButtons(buttons, { showIcons: true })
|
||||
%></div>
|
||||
</td></tr>
|
||||
@@ -986,7 +986,7 @@ else // nieuwe bestelling. Defaults bepalen
|
||||
id="faicon"
|
||||
style="display: none"><%=I("fa-question")%>
|
||||
</span>
|
||||
|
||||
|
||||
<img class="besphoto"
|
||||
src="../Pictures/no_photo.gif"
|
||||
id="photo"
|
||||
|
||||
@@ -56,7 +56,7 @@ function getSqlFiatBes(fiatstatus, prsKeys, params)
|
||||
+ " FROM prs_v_perslid_fullnames_all p2"
|
||||
+ " WHERE p2.prs_perslid_key ="
|
||||
+ (fiatstatus == "open"
|
||||
? " prs.nextfiatteur(b.bes_bestelling_key, 'BES'))" // Open. Toon wie de fiatteur is. Voor de BES module wordt de pexcludekey toch niet gebruikt.
|
||||
? " prs.nextfiatteur(b.bes_bestelling_key, 'BES', " + exclude_fiatter + "))" // Open. Toon wie de fiatteur is. Voor de BES module wordt de pexcludekey toch niet gebruikt.
|
||||
: " b.bes_bestelling_fiat_user)") // Gefiatteerd en afgewezen. Toon wie dat is geweest. (Afwijzer werd voorheen niet opgeslagen, nu wel)
|
||||
|
||||
// Tijdens het uiteindelijk fiatteren wordt gekeken afhankelijk van totaalbedrag of er wellicht na kostenplaatsverantwoordelijke ook nog door kostenplaatsgroepverantwoordelijke moet worden gefiatteerd.
|
||||
@@ -123,7 +123,7 @@ function getSqlFiatBes(fiatstatus, prsKeys, params)
|
||||
+ " ELSE 4"
|
||||
+ " END"
|
||||
/* A1 */ + " AND ((bes_bestelling_fiat_user IS NULL AND"
|
||||
+ " prs.nextfiatteur(b.bes_bestelling_key, 'BES') IN (" + prsKeys + ")" + ")" // Voor de BES module wordt de pexcludekey toch niet gebruikt.
|
||||
+ " prs.nextfiatteur(b.bes_bestelling_key, 'BES', " + exclude_fiatter + ") IN (" + prsKeys + ")" + ")" // Voor de BES module wordt de pexcludekey toch niet gebruikt.
|
||||
/* A2 */ + " OR (bes_bestelling_fiat_user IS NOT NULL AND"
|
||||
+ " ((ver.prs_perslid_key IN (" + prsKeys + ") AND prijs.bestelling_bedrag < " + S("mld_opdr_kpg_fin_limit1") + ")"
|
||||
+ " OR (ver.prs_kostenplaatsgrp_fiat2_key IN (" + prsKeys + ") AND prijs.bestelling_bedrag >= " + S("mld_opdr_kpg_fin_limit1") + " AND prijs.bestelling_bedrag < " + S("mld_opdr_kpg_fin_limit2") + ")"
|
||||
@@ -1315,6 +1315,7 @@ function fiattering_sql(params)
|
||||
+ " FROM (" + sqlkp + " UNION " + sqlkpg + ")";
|
||||
var oRsbud = Oracle.Execute(sqlbud);
|
||||
var benBudgethouder = oRsbud("aantal").Value > 0;
|
||||
oRsbud.Close();
|
||||
|
||||
var alleModules = params.betreft.length == 0;
|
||||
if (benBudgethouder && (inArray("BES", params.betreft) || alleModules))
|
||||
|
||||
Reference in New Issue
Block a user