MNNL#42727: Object verplichting bij afmelden.

svn path=/Website/trunk/; revision=37756
This commit is contained in:
Maykel Geerdink
2018-04-24 13:45:11 +00:00
parent 2616ce04ef
commit 0a9b36a9ad
6 changed files with 20 additions and 17 deletions

View File

@@ -306,7 +306,7 @@ function mld_list (pautfunction, params)
+ ", sd.ins_srtdiscipline_bes"
+ ", md.ins_discipline_key"
+ ", md.ins_discipline_kpnverplicht"
+ ", std.ins_srtinst_verplicht"
+ ", std.ins_srtinst_verplichtstatus"
+ ", std.mld_stdmelding_freetext"
+ ", std.alg_onrgoed_niveau"
+ ", COALESCE(m.mld_alg_locatie_key, -1) alg_locatie_key"
@@ -582,7 +582,7 @@ function mld_list (pautfunction, params)
flr_key: oRs("alg_verdieping_key").Value,
room_key: oRs("alg_ruimte_key").Value,
deladdress: oRs("mld_adres_key").Value,
srtinst_verplicht: (oRs("ins_srtinst_verplicht").Value == 1),
srtinst_verplichtstatus: (oRs("ins_srtinst_verplichtstatus").Value == 1),
freetext: oRs("mld_stdmelding_freetext").Value
};
emptyRequiredFields = mld.getEmptyRequiredFields(mld_melding);

View File

@@ -43,11 +43,14 @@ for (var i = 0; i < mld_key_arr.length; i++)
toberejected++;
}
// Zijn er nog kenmerken die nu wel verplicht zijn?
var kvsAfwezig = mld.hasRequiredStatusEmptyMelding(mld_key_arr[i], 1); // Melding status "Afgemeld(5)"
if (kvsAfwezig.length)
var afwezig = mld.hasRequiredStatusEmptyMelding(mld_key_arr[i], 1); // Melding status "Afgemeld(5)"
if (afwezig.kenm_ontbreekt.length || afwezig.obj_ontbreekt)
{
var mldnr = mld.mld_prefix(mld_key_arr[i]) + mld_key_arr[i];
reqStatusEmptyMelding.push(L("lcl_mld_req_status_empty").format(kvsAfwezig.join(", "), mldnr) );
if (afwezig.kenm_ontbreekt.length)
reqStatusEmptyMelding.push(L("lcl_mld_req_status_empty").format(afwezig.kenm_ontbreekt.join(", "), mldnr));
if (afwezig.obj_ontbreekt)
reqStatusEmptyMelding.push(L("lcl_mld_req_obj").format(mldnr));
}
}
// De laatst gebruikte set_dialect uit de for-lus geldt nu voor de onderstaande code.

View File

@@ -75,7 +75,7 @@ if (opdr_key_arr.length == 1)
// Zijn bij deze opdracht alle verplichte kenmerken ingevuld?
reqStatusEmptyOpdr = mld.getReqStatusEmptyOpdr(reqStatusEmptyOpdr, opdr_key_arr[0], 6); // Opdracht status "Technisch Voltooid(6)"
// Zijn bij de melding van deze opdracht alle verplichte kenmerken ingevuld?
// Zijn bij de melding van deze opdracht alle verplichte kenmerken en/of verplicht object ingevuld?
reqStatusEmptyMelding = mld.getReqStatusEmptyMelding(reqStatusEmptyMelding, mld_key, 5); // Melding status "Afgemeld(5)"
// Hoeveel opdrachten staan er open bij deze melding.
@@ -184,7 +184,7 @@ oRs.Close();
return false;
}
// Alleen vergeten verplichte kenmerken vermelden als die er zijn en aangevinkt is dat de melding evt. afgemeld moet worden.
// Alleen vergeten verplichte kenmerken en/of verplicht object vermelden als die er zijn en aangevinkt is dat de melding evt. afgemeld moet worden.
// Voorwaarde "aantal nog openstaande opdrachten = 1" kan niet ivm batchmode.
if ($("#mld_close").is(":checked") && (<%=reqStatusEmptyMelding.length%> != 0))
{

View File

@@ -105,7 +105,7 @@ if (opdr_key_arr.length == 1)
if (nrOpen == 1 && sluitmelding)
{
// Zijn bij de melding van deze opdracht alle verplichte kenmerken ingevuld?
// Zijn bij de melding van deze opdracht alle verplichte kenmerken en/of verplicht object ingevuld?
// Alleen te controleren als melding na afsluiten van de opdracht ook gesloten wordt.
var this_mld = mld.func_enabled_melding(mld_key); // Wat heb ik zoal aan rechten op deze specifieke melding.
if (this_mld.canClose)
@@ -242,7 +242,7 @@ for (var i = 0; i < ingesloten.length; i++)
if (nn == 0) // Het was de laatste opdracht van de melding die nog niet afgemeld is
{
reqStatusEmptyMelding = mld.getReqStatusEmptyMelding(reqStatusEmptyMelding, mld_opdr.mld_key, 5); // Melding status "Afgemeld(5)"
if (reqStatusEmptyMelding.length == 0) // Alle verplichte kenmerkeb zijn ingevuld
if (reqStatusEmptyMelding.length == 0) // Alle verplichte kenmerken en/of verplicht object zijn ingevuld.
{
// Mag ik dan ook de melding afmelden?
var this_mld = mld.func_enabled_melding(mld_opdr.mld_key);

View File

@@ -247,7 +247,7 @@ else
var stdm_info = mld.mld_stdmeldinginfo(mld_info.stdm);
mld_info.srtdisc = stdm_info.ins_srtdiscipline_key;
mld_info.show_ins = stdm_info.ins_srtdiscipline_ins;
mld_info.srtinst_verplicht = stdm_info.srtinst_verplicht;
mld_info.srtinst_verplichtstatus = stdm_info.srtinst_verplichtstatus;
var mandaat_eigen_kp = S("prs_dep_default_kpn") || stdm_info.show_eigen_kp == 1; // voor alle vakgroepen gemandateerd op eigen kp
@@ -599,9 +599,9 @@ if (action != "forward")
var aantalObj = toRs("aantal").value;
toRs.close();
var EmptyOption = true;
if (aantalObj > 0 || mld_info.srtinst_verplicht)
if (aantalObj > 0 || mld_info.srtinst_verplichtstatus == 2)
{
if (aantalObj && mld_info.srtinst_verplicht)
if (aantalObj && mld_info.srtinst_verplichtstatus == 2)
EmptyOption = false;
FCLTselector( "r_objs"
, sql
@@ -610,7 +610,7 @@ if (action != "forward")
, mobile: true
, extraParamValue: "ins_alg_ruimte_key,ins_alg_ruimte_type"
, emptyOption: (EmptyOption ? L("lcl_select_object") : null)
, required: mld_info.srtinst_verplicht
, required: mld_info.srtinst_verplichtstatus == 2
}
);
}

View File

@@ -526,21 +526,21 @@ function getFiltClauseWerkplek(pfiltcode, params)
function get_rel_obj_filter(stdm_key, level)
{
var stdm_key_bestaat = false;
var sql = "SELECT msm.ins_srtinst_verplicht"
var sql = "SELECT msm.ins_srtinst_verplichtstatus"
+ " , COUNT(mss.mld_stdmelding_srtinst_key) aantal"
+ " FROM mld_stdmelding msm"
+ " , mld_stdmelding_srtinst mss"
+ " WHERE msm.mld_stdmelding_key = mss.mld_stdmelding_key(+)"
+ " AND msm.mld_stdmelding_key = " + stdm_key
+ " GROUP BY msm.ins_srtinst_verplicht";
+ " GROUP BY msm.ins_srtinst_verplichtstatus";
var oRs = Oracle.Execute(sql);
var srtinst_verplicht = oRs("ins_srtinst_verplicht").Value == 1;
var srtinst_verplichtstatus = oRs("ins_srtinst_verplichtstatus").Value == 1;
var srtinst_aanwezig = oRs("aantal").Value;
var stdm_key_bestaat = true;
oRs.Close();
var rel_obj_filter = "";
if (srtinst_verplicht && srtinst_aanwezig > 0)
if (srtinst_verplichtstatus && srtinst_aanwezig > 0)
{
var filter_table = "";
switch (level)