Merge 2023.2 Gold A changes

svn path=/Website/trunk/; revision=61137
This commit is contained in:
Jos Groot Lipman
2023-07-11 11:45:25 +00:00
68 changed files with 557 additions and 422 deletions

View File

@@ -18,6 +18,7 @@
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="../Shared/selector.inc" -->
<!-- #include file="../Shared/discxalg3d.inc" -->
<!-- #include file="../Shared/referentieselector.inc" -->
<!-- #include file="../Shared/disciplineselector.inc" -->
<!-- #include file="../Shared/stdmeldingselector.inc" -->
<!-- #include file="../INS/ins.inc" -->
@@ -301,12 +302,7 @@ FCLTHeader.Requires({ plugins: ["jQuery"],
// Dus vanwege zeer veel tijdwinst gaan we zelf canInspExecute bepalen.
*/
__Log("i = " + i);
__Log("ins_key_arr[i] = " + ins_key_arr[i]);
__Log("srtcont_key_arr[i] = " + srtcont_key_arr[i]);
var this_ins = ins.func_enabled_deel(ins_key_arr[i], {srtcont_key: srtcont_key_arr[i]}); // Wat heb ik zoal aan rechten op dit object?
__Log("this_ins.canInspExecute = " + this_ins.canInspExecute);
__Log("deelsrtcontrkey_arr = " + deelsrtcontrkey_arr.join(","));
if (this_ins.canInspExecute) // Mag de taak uitvoeren?
{
ingesloten.push(ins_key_arr[i]);
@@ -343,10 +339,9 @@ __Log("deelsrtcontrkey_arr = " + deelsrtcontrkey_arr.join(","));
FcltMgr.closeDetail(window, { warning: jdata.warning, success: true });
}
var newinvoer = false;
async function mjb_inclmld()
async function mjb_inclmld(pnew)
{
if ($("#mld_key").val() > 0 || newinvoer)
if (!pnew)
{
// Standaard checks op verplichte velden, datum formaat, numeriek en float formaat, currency formaat.
if (!await validateForm("u2"))
@@ -361,12 +356,13 @@ __Log("deelsrtcontrkey_arr = " + deelsrtcontrkey_arr.join(","));
else
{ // Nieuwe melding. Invoervelden voor nieuwe melding zichtbaar maken en selectbox verbergen.
$("#mjbexistmld").hide();
$("#btn_new").hide();
$("#mjbnewmld").show();
FcltMgr.resized(window);
//$("#mld_key").val(-1); // Nieuwe melding => mld_key waarde -1 geven.
$("#mld_key_show").removeClass("required");
$("#mjbsubject").addClass("required");
$("#stdm_show").addClass("required");
newinvoer = true;
return false; // Button niet disablen.
}
}
@@ -374,7 +370,7 @@ __Log("deelsrtcontrkey_arr = " + deelsrtcontrkey_arr.join(","));
$(function()
{
if (!hasmeldingen)
mjb_inclmld();
mjb_inclmld(true);
})
function mld_cancel()
@@ -424,27 +420,15 @@ __Log("deelsrtcontrkey_arr = " + deelsrtcontrkey_arr.join(","));
<input type="hidden" name="ctrdisc_keys" id="ctrdisc_keys" value="<% =ingeslotenctrd.join(",")%>">
<%
// Nieuwe melding is ook een echte keuze.
sql = "SELECT DISTINCT m.mld_melding_key"
+ " , sd.ins_srtdiscipline_prefix || m.mld_melding_key || ': ' || m.mld_melding_onderwerp melding_omschrijving"
+ " FROM mld_melding m"
+ " , mld_melding_object mo"
+ " , mld_stdmelding s"
+ " , mld_discipline md"
+ " , ins_srtdiscipline sd"
+ " WHERE m.mld_melding_key = mo.mld_melding_key"
+ " AND m.mld_stdmelding_key = s.mld_stdmelding_key"
+ " AND s.mld_ins_discipline_key = md.ins_discipline_key"
+ " AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key"
+ " AND mo.ins_deelsrtcontrole_key IS NOT NULL"
+ " AND mld_melding_status IN (2, 4, 7)"
+ " ORDER BY melding_omschrijving";
FCLTselector("mld_key",
sql,
{ label: L("lcl_mjb_meldingen"),
initKey: aantal == 1? maxmld_key : -1,
emptyOption: L("lcl_mjb_new_melding"),
emptyIsRealValue: true
});
FCLTreferentieselector( "mld_key",
"sgmldkey",
{ label: L("lcl_mjb_meldingen"),
referenceKey: -1,
omitRefType: true, // Het veld "kto_type" weglaten.
referenceType: "M", // Referentie meldingen
filtercode: "MJBU",
required: true
});
MODAL_BLOCK_END();
MODAL_BLOCK_START("mjbnewmld", L("lcl_mjb_new_melding"), {hidden: hasmeldingen, icon: "fa-plus"});
@@ -508,7 +492,7 @@ __Log("deelsrtcontrkey_arr = " + deelsrtcontrkey_arr.join(","));
onChange: "onChangeStdMelding",
stdmelding_key: -1
});
RWFIELDTR("mjbsubject", "fldmjbsubject fld", L("lcl_mld_subject"), mld_subject, {maxlength: 30});
RWFIELDTR("mjbsubject", "fldmjbsubject fld", L("lcl_mld_subject"), mld_subject, {maxlength: 80});
RWTEXTAREATR("mlddesc",
"fldtxt",
@@ -518,7 +502,8 @@ __Log("deelsrtcontrkey_arr = " + deelsrtcontrkey_arr.join(","));
MODAL_BLOCK_END();
var buttons = [];
buttons.push({title: L("lcl_ok"), action:"mjb_inclmld()", singlepress: true, id: "btn_submit", icon: "fa-fclt-save"}); // Opnemen in scenario.
buttons.push({title: L("lcl_mjb_new_melding"), action:"mjb_inclmld(true)", singlepress: true, id: "btn_new", icon: "fa-fclt-save"}); // Opnemen in scenario.
buttons.push({title: L("lcl_ok"), action:"mjb_inclmld(false)", singlepress: true, id: "btn_submit", icon: "fa-fclt-save"}); // Opnemen in scenario.
buttons.push({title: L("lcl_cancel"), action:"mld_cancel()", icon: "fa-fclt-cancel"});
SIMPLE_BLOCK_START();
CreateButtons(buttons);

View File

@@ -104,33 +104,22 @@ if (mld_key < 0)
var bld_key = -1;
var flr_key = -1;
var room_key = -1;
sql = "SELECT COUNT(alg_locatie_key) loc_aantal"
+ " , MAX(alg_locatie_key) loc_max"
+ " , COUNT(alg_gebouw_key) geb_aantal"
+ " , MAX(alg_gebouw_key) bld_max"
+ " , COUNT(alg_verdieping_key) ver_aantal"
+ " , MAX(alg_verdieping_key) ver_max"
+ " , COUNT(alg_ruimte_key) rui_aantal"
+ " , MAX(alg_ruimte_key) rui_max"
+ " FROM (SELECT DISTINCT alg_locatie_key,"
+ " alg_gebouw_key,"
+ " alg_verdieping_key,"
+ " alg_ruimte_key"
+ " FROM ins_deel isd, alg_v_allonroerendgoed alg"
+ " WHERE ins_deel_key IN (" + ingesloten.join(",") + ")"
+ " AND alg_onroerendgoed_keys = isd.ins_alg_ruimte_key"
+ " AND isd.ins_alg_ruimte_type = 'R')";
// Pak de eerste om de plaatsgegevens te bepalen. Dan zijn verplichte waarden in ieder geval gevuld.
sql = "SELECT alg_locatie_key,"
+ " alg_gebouw_key,"
+ " alg_verdieping_key,"
+ " alg_ruimte_key"
+ " FROM ins_deel isd, alg_v_allonroerendgoed alg"
+ " WHERE ins_deel_key IN (" + ingesloten[0] + ")"
+ " AND alg_onroerendgoed_keys = isd.ins_alg_ruimte_key"
+ " AND isd.ins_alg_ruimte_type = 'R'";
oRs = Oracle.Execute(sql);
if (!oRs.Eof)
if (!oRs.eof)
{
if (oRs("loc_aantal").Value == 1)
loc_key = oRs("loc_max").Value;
if (oRs("geb_aantal").Value == 1)
bld_key = oRs("bld_max").Value;
if (oRs("ver_aantal").Value == 1)
flr_key = oRs("ver_max").Value;
if (oRs("rui_aantal").Value == 1)
room_key = oRs("rui_max").Value;
loc_key = oRs("alg_locatie_key").Value;
bld_key = oRs("alg_gebouw_key").Value;
flr_key = oRs("alg_verdieping_key").Value;
room_key = oRs("alg_ruimte_key").Value;
}
oRs.Close();

View File

@@ -162,9 +162,9 @@ var transitParam = buildTransitParam(["urole", "mode", "deel", "groep", "categor
FcltMgr.openDetail(url, $(deze).text());
}
function naarmelding(isdc_key, deze)
function naarmelding(mld_key, deze)
{
var url = "appl/mld/mld_melding.asp?kto_type=T&kto_key=" + isdc_key;
var url = "appl/mld/mld_melding.asp?mld_key=" + mld_key;
FcltMgr.openDetail(url, $(deze).text());
}
@@ -369,14 +369,15 @@ var transitParam = buildTransitParam(["urole", "mode", "deel", "groep", "categor
}
var sql_cost = "SELECT (SELECT sd.ins_srtdiscipline_prefix"
+ " FROM ins_srtdiscipline sd"
+ " , mld_discipline md"
+ " , mld_stdmelding std"
+ " , mld_melding m"
+ " WHERE m.mld_melding_key = mo.mld_melding_key"
+ " AND std.mld_stdmelding_key = m.mld_stdmelding_key"
+ " AND md.ins_discipline_key = std.mld_ins_discipline_key"
+ " AND sd.ins_srtdiscipline_key = md.ins_srtdiscipline_key) || mo.mld_melding_key melding"
+ " FROM ins_srtdiscipline sd"
+ " , mld_discipline md"
+ " , mld_stdmelding std"
+ " , mld_melding m"
+ " WHERE m.mld_melding_key = mo.mld_melding_key"
+ " AND std.mld_stdmelding_key = m.mld_stdmelding_key"
+ " AND md.ins_discipline_key = std.mld_ins_discipline_key"
+ " AND sd.ins_srtdiscipline_key = md.ins_srtdiscipline_key) melding_prefix"
+ " , mo.mld_melding_key melding"
+ " , d.alg_district_key"
+ " , d.alg_district_omschrijving"
+ " , l.alg_locatie_omschrijving"
@@ -435,7 +436,10 @@ var transitParam = buildTransitParam(["urole", "mode", "deel", "groep", "categor
{
var fields = [];
if (groupby == 8)
{
fields.push("melding_prefix");
fields.push("melding");
}
if (groupby == 1 || groupby == 2 || groupby == 3 || groupby == 8 || moredetail)
{
fields.push("alg_district_omschrijving");
@@ -501,6 +505,7 @@ var transitParam = buildTransitParam(["urole", "mode", "deel", "groep", "categor
+ " , ins_srtcontroledl_xcp_key"
+ " , freezedatejaar"
+ " , ins_deelsrtcontrole_freezecost"
+ " , melding_prefix"
+ " , melding"
+ (S("mjb_operation_external") == 0 // Realisatie binnen de administratie van Facilitor. Realisatie kolommen tonen.
? " , begrootbedrag"
@@ -658,26 +663,19 @@ var transitParam = buildTransitParam(["urole", "mode", "deel", "groep", "categor
return safe.curr(column.totalsum, true);
}
function fnfnClickBedrag(jaar) // altijd afronden
function fnClickMelding(oRs)
{
return function (oRs)
{
if (oRs(jaar).Value == null)
return "";
var melding = oRs("melding").Value || "";
var melding_prefix = oRs("melding_prefix").Value || "";
var v = melding_prefix + melding;
var v = Math.round(oRs(jaar).Value);
if (authparamsMLD && S("mjb_operation_external") == 0) // dan kun je klikken naar de melding
{
// TODO: m<>cht de melding er nog niet zijn dan die laten aanmaken (zoals een melding bij een inspectie)?
var fncall = "naarmelding({0})"
.format(oRs(jaar + "_" + "ins_deelsrtcontrole_key").Value);
return "<span class='details' onclick='{0}'>{1}</span>"
.format(safe.htmlattr(fncall),
safe.curr(v, true));
var fncall = "naarmelding({0})".format(melding);
return "<span class='details' onclick='{0}'>{1}</span>".format(safe.htmlattr(fncall), v);
}
else
return safe.curr(v, true);
}
return v;
}
function fnfncolClass(jaar)
@@ -729,7 +727,7 @@ var transitParam = buildTransitParam(["urole", "mode", "deel", "groep", "categor
});
if (groupby == 8)
rst.addColumn(new Column({caption: L("lcl_mjb_melding"), content: "melding"}));
rst.addColumn(new Column({caption: L("lcl_mjb_melding"), content: fnClickMelding}));
if (groupby == 1 || groupby == 2 || groupby == 3 || groupby == 8 || moredetail == 2)
rst.addColumn(new Column({caption: L("lcl_district"), content: "alg_district_omschrijving"/*, purpose: (dist_key > -1 ? PRINTING_ONLY : PRINT_AND_VIEW)*/}));
if (groupby == 2 || groupby == 3 || groupby == 8 || moredetail == 2)
@@ -754,14 +752,11 @@ var transitParam = buildTransitParam(["urole", "mode", "deel", "groep", "categor
// PF: deze status wordt pas zinvol wanneer er meerdere statussen kunnen zijn hier
// dus wanneer er een statusfilter oid komt waarmee je ook nog naar de historie kunt, ooit.
//rst.addColumn(new Column({caption: L("lcl_ins_status"), content: fnStatus}));
rst.addColumn(new Column({caption: L("lcl_mjb_melding"), content: "melding"}));
rst.addColumn(new Column({caption: L("lcl_mjb_melding"), content: fnClickMelding}));
}
for (var j = 0; j < jaren.length; j++)
{
if (fulldetails)
var content = fnfnClickBedrag(String(jaren[j]));
else
var content = fnfnBedrag(String(jaren[j]));
var content = fnfnBedrag(String(jaren[j]));
// Het bevroren budget per jaar
rst.addColumn(new Column({caption: String(L("lcl_mjb_begroot") + " " + jaren[j]),