diff --git a/APPL/INS/ins_edit_srtdeel.asp b/APPL/INS/ins_edit_srtdeel.asp index a36f3f7229..a2a34b6e2a 100644 --- a/APPL/INS/ins_edit_srtdeel.asp +++ b/APPL/INS/ins_edit_srtdeel.asp @@ -211,7 +211,10 @@ else } ROFIELDTR("image_button", L("lcl_obj_image_upload"), L("lcl_fg_upload"), params); if (S("mjb_enabled") == 1) - ROFIELDTR("fld", L("ins_srtdeel_mjb_grensscore1"), srtdeel.srtdeel_mjb_grensscore1, {suppressEmpty: true}); + RWFIELDTR("srtdeel_grensscore1", "fldnum", L("ins_srtdeel_mjb_grensscore1"), srtdeel.srtdeel_mjb_grensscore1, + { datatype: "number", + maxlength: 10 + }); BLOCK_END(); BLOCK_START("insBind", L("lcl_obj_bind")); diff --git a/APPL/INS/ins_edit_srtdeel_save.asp b/APPL/INS/ins_edit_srtdeel_save.asp index fd3c9b84f3..629fde9389 100644 --- a/APPL/INS/ins_edit_srtdeel_save.asp +++ b/APPL/INS/ins_edit_srtdeel_save.asp @@ -29,20 +29,21 @@ var binding = (getFParam("bindR", "off") == "on" ? BIND_RUIMTE : 0) + (getFParam("bindP", "off") == "on" ? BIND_PERSOO : 0) + (getFParam("bindI", "off") == "on" ? BIND_INSDEE : 0); -var fields = [ { dbs: "ins_srtgroep_key", typ: "key", frm: "srtgroep", track: L("lcl_obj_group"), foreign: "ins_srtgroep" }, - { dbs: "ins_srtdeel_code", typ: "varchar", frm: "srtcode", track: L("lcl_obj_srtdeel_code") }, - { dbs: "ins_srtdeel_omschrijving", typ: "varchar", frm: "srtomschr", track: L("lcl_descr") }, - { dbs: "ins_srtdeel_volgnr", typ: "number", frm: "srtdeel_volgnr", track: L("lcl_ins_volgnr") }, - { dbs: "ins_srtdeel_eenheid", typ: "varchar", frm: "srtdeel_eenheid", track: L("lcl_obj_unit") }, - //{ dbs: "ins_srtdeel_dimensie", typ: "varchar", frm: "srtdeel_dimensie", track: L("lcl_ins_dimensie") }, - { dbs: "ins_srtdeel_acadsymbol", typ: "varchar", frm: "srtdeel_acadsymbol", track: L("lcl_obj_symbol") }, - { dbs: "ins_srtdeel_uitleenbaar", typ: "check", frm: "srtdeel_uitleenbaar", track: L("lcl_ins_uitleenbaar") }, - { dbs: "ins_srtdeel_nr", typ: "varchar", frm: "srtdeel_nr", track: L("lcl_ins_srtartikelnr") }, - { dbs: "prs_bedrijf_key", typ: "key", frm: "prs_bedrijf_key", track: L("lcl_ins_leverancier"), foreign: "prs_bedrijf" }, - { dbs: "ins_srtdeel_vervaldatum", typ: "date", frm: "vervaldatum", track: L("lcl_ins_vervaldatum") }, - { dbs: "ins_srtdeel_image", typ: "varchar", frm: "srtdeel_image", track: L("lcl_ins_image") }, - { dbs: "ins_srtdeel_module", typ: "varchar", val: "INS" }, - { dbs: "ins_srtdeel_binding", typ: "number", val: binding, track: L("lcl_obj_bind") }]; +var fields = [ { dbs: "ins_srtgroep_key", typ: "key", frm: "srtgroep", track: L("lcl_obj_group"), foreign: "ins_srtgroep" }, + { dbs: "ins_srtdeel_code", typ: "varchar", frm: "srtcode", track: L("lcl_obj_srtdeel_code") }, + { dbs: "ins_srtdeel_omschrijving", typ: "varchar", frm: "srtomschr", track: L("lcl_descr") }, + { dbs: "ins_srtdeel_volgnr", typ: "number", frm: "srtdeel_volgnr", track: L("lcl_ins_volgnr") }, + { dbs: "ins_srtdeel_eenheid", typ: "varchar", frm: "srtdeel_eenheid", track: L("lcl_obj_unit") }, + //{ dbs: "ins_srtdeel_dimensie", typ: "varchar", frm: "srtdeel_dimensie", track: L("lcl_ins_dimensie") }, + { dbs: "ins_srtdeel_acadsymbol", typ: "varchar", frm: "srtdeel_acadsymbol", track: L("lcl_obj_symbol") }, + { dbs: "ins_srtdeel_uitleenbaar", typ: "check", frm: "srtdeel_uitleenbaar", track: L("lcl_ins_uitleenbaar") }, + { dbs: "ins_srtdeel_nr", typ: "varchar", frm: "srtdeel_nr", track: L("lcl_ins_srtartikelnr") }, + { dbs: "prs_bedrijf_key", typ: "key", frm: "prs_bedrijf_key", track: L("lcl_ins_leverancier"), foreign: "prs_bedrijf" }, + { dbs: "ins_srtdeel_vervaldatum", typ: "date", frm: "vervaldatum", track: L("lcl_ins_vervaldatum") }, + { dbs: "ins_srtdeel_image", typ: "varchar", frm: "srtdeel_image", track: L("lcl_ins_image") }, + { dbs: "ins_srtdeel_mjb_grensscore1", typ: "float", frm: "srtdeel_grensscore1", track: L("ins_srtdeel_mjb_grensscore1") }, + { dbs: "ins_srtdeel_module", typ: "varchar", val: "INS" }, + { dbs: "ins_srtdeel_binding", typ: "number", val: binding, track: L("lcl_obj_bind") }]; var warning = ""; diff --git a/APPL/MJB/mjb_commit_scen.asp b/APPL/MJB/mjb_commit_scen.asp index d3f75e974e..523ab60024 100644 --- a/APPL/MJB/mjb_commit_scen.asp +++ b/APPL/MJB/mjb_commit_scen.asp @@ -194,11 +194,13 @@ for (var i = 0; i < ingesloten.length; i++) { // Er is in de Active Situatie (AS) geen lopende inspectie. if (plandatum) { + var nextdate = ins.func_get_nextdate(ingesloten[i].ins_key, ingesloten[i].srtcont_key, 1); var fields = [ { dbs: "ins_deel_key", typ: "key", val: ingesloten[i].ins_key }, { dbs: "ins_srtcontrole_key", typ: "key", val: ingesloten[i].srtcont_key }, { dbs: "ins_deelsrtcontrole_status", typ: "key", val: 0 }, { dbs: "prs_perslid_key", typ: "key", val: user_key }, - { dbs: "ins_deelsrtcontrole_plandatum", typ: "datetime", val: plandatum } + { dbs: "ins_deelsrtcontrole_plandatum", typ: "datetime", val: plandatum }, + { dbs: "ins_deelsrtcontrole_datum_org", typ: "datetime", val: nextdate} ]; var insIns = buildInsert("ins_deelsrtcontrole", fields); dlsrtcont_key = insIns.sequences["ins_deelsrtcontrole_key"]; diff --git a/APPL/MJB/mjb_search_list.asp b/APPL/MJB/mjb_search_list.asp index b4e223da64..4b8f19080e 100644 --- a/APPL/MJB/mjb_search_list.asp +++ b/APPL/MJB/mjb_search_list.asp @@ -56,7 +56,7 @@ var mjb_freeze_year = S("mjb_freeze_year"); var groupby = getQParamInt("groupby"); var fulldetails = (groupby == 8); // Geen aggregate, dan kun je van alles manipuleren -var fromyear = getQParamInt("fromyear", mjb_freeze_year); +var fromyear = getQParamInt("fromyear", new Date().getFullYear()); var toyear = getQParamInt("toyear"); var deel = getQParam("deel", ""); // Identieficatie @@ -71,11 +71,11 @@ var disc_key = getQParamInt("disc", -1); var srtgroep_key = getQParamInt("srtgroep", -1); var srtdeel_key = getQParamInt("srtdeel", -1); var srtcontrole = getQParamIntArray("srtcontrole", []); // Taak -var inflatiepct = S("mjb_inflation"); -var inflatiefactor = 1 + (inflatiepct / 100); var frequentie = getQParamIntArray("frequentie", []); // Array met frequenties. var kp_key = getQParamInt("account", -1); // Kostenplaats. var incbtw = getQParamInt("incbtw", 0) == 1; // Lijst inclusief BTW weergeven. +var inflatiepct = S("mjb_inflation"); +var inflatiefactor = 1 + (inflatiepct / 100); var scenario = getQParamInt("scenario", 1); // Scenario var actsit = getQParamInt("actsit", 0) == 1; // Ook actuele situatie. @@ -109,16 +109,23 @@ var filterParams = { deel: (deel != ""? deel : null), disc_key: disc_key, insgroup_key: srtgroep_key, objsrt_key_arr: srtdeel_key, + kp_key: kp_key, mjbgroup: groupby, mjbtoyear: toyear, mjbsrtcontr: srtcontrole.join(","), mjbinfl_pct: inflatiepct, mjbfreq: frequentie.join(","), - mjbincbtw: incbtw + mjbincbtw: incbtw, + mjbscenario: scenario, + mjbactsit: actsit, + mjbshowempty: mjbshowempty }; -var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrole", "inflatie", - "frequentie", "incbtw", "toyear", "alg_startlevel", "alg_endlevel", - "deel", "groep", "categorie_key", "scenario", "actsit", +var transitParam = buildTransitParam(["deel", "groep", "categorie_key", "districtkey", "locatiekey", "gebouwkey", + "disc", "srtgroep", "srtdeel", "srtcontrole", + "frequentie", "account", "incbtw", "toyear", + "scenario", "actsit", "mjbshowempty", "ctrdisc_key", + "fitness_score1_from", "fitness_score1_through", "fitness_score1_from_neg", "fitness_score1_through_neg", + "fitness_score1_from_pos", "fitness_score1_through_pos", "priority_score2_from", "priority_score2_through", "mjbMoved", "mjbFreezed", "mjbXcped"]); %> @@ -144,9 +151,11 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol var categorie_key = <%=categorie_key%>; var srtcontrole = "<%=srtcontrole.join(",")%>"; var frequentie = "<%=frequentie.join(",")%>"; + var account = <%=kp_key%>; var incbtw = <%=incbtw? 1 : 0%>; var groupby = <%=groupby%>; var deel = "<%=deel%>"; + var actsit = <%=actsit? 1 : 0%>; var mjbMoved = <%=mjbMoved? 1 : 0%>; var mjbFreezed = <%=mjbFreezed? 1 : 0%>; var mjbXcped = <%=mjbXcped? 1 : 0%>; @@ -184,10 +193,10 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol function moveplan(evt, ins_key, srtcont_key, scen_key, dlsrtcont_key, startdatum, hascontrole, jaar) { FcltMgr.stopPropagation(evt); - // Als er al een inspectie is geweest dan niet meer naar startdatum kijken. + // Als er al een succesvol uitgevoerde inspectie is geweest dan niet meer naar startdatum kijken. // Situatie als het jaar gelijk is aan de startdatum: // Geplande inspectie record aanwezig: Nee: (dlsrtcont_key < 0) Niets doen => refresh en return. - // Ja: (dlsrtcont_key < 0) Door naar ins_inspect_save.asp op record te verwijderen. + // Ja: (dlsrtcont_key < 0) Door naar ins_inspect_save.asp om record te verwijderen. if (!jaar || (!hascontrole && (startdatum > 0 && ((dlsrtcont_key < 0 && jaar <= new Date(startdatum).getFullYear()) || (dlsrtcont_key > 0 && jaar < new Date(startdatum).getFullYear()))))) { FcltCallbackRefresh({success: true}); @@ -725,7 +734,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol var org_v = Math.round(oRs(jaar + "_ORGBEDRAG").Value); if (v == 0) // (jaar >= vervaljaar) of (startjaar >= jaar) { - var startjaar = oRs("startjaar").Value; + var startjaar = oRs("startjaar").Value; // Startjaar heeft altijd een waarde. var starttype = oRs("starttype").Value; var ctr_controle_type = oRs("ctr_controle_type").Value; var planjaar = oRs("planjaar").Value; @@ -740,8 +749,8 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol // a) Als registratiedatum het verst in de toekomst ligt: Eerste inspectie tonen op 1 periode verder dan de registratiedatum. // b) Als de startdatum het verst in de toekomst ligt: Eerste inspectie tonen op de startdatum. if ((vervaljaar != null && jaar > vervaljaar - afbouwtijd) || // Als 2022 vervaljaar is en afbouwtijd is 2 jaar, dan 2020 nog 0 tonen. - (startjaar != null && startjaar >= jaar && (starttype == "S" || (starttype == "A" && ctr_controle_type == 1))) || // In startjaar komt een bedrag te staan. - (startjaar != null && (startjaar + ins_srtcontrole_periode) > jaar && starttype == "A" && ctr_controle_type != 1 && ((planjaar == null) || (planjaar != null && planjaar > jaar)))) // In startjaar + periode komt een bedrag te staan, tenzij verschoven. + (startjaar > jaar) || // In startjaar komt een bedrag te staan. + ((startjaar + ins_srtcontrole_periode) > jaar && starttype == "A" && ctr_controle_type != 1 && ((planjaar == null) || (planjaar != null && planjaar > jaar)))) // In startjaar + periode komt een bedrag te staan, tenzij verschoven. { return ""; } @@ -749,25 +758,35 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol if (outputmode != 0) return safe.curr(v, true); - if (v != org_v) { - if (outputmode == 0) { - v = "{0}".format(safe.curr(v, true), L('lcl_valutasign') + safe.curr(org_v, true)); - } else { - v = "{0}".format(safe.curr(v, true)); - } + if (v != org_v) + { + if (outputmode == 0) + v = "{0}".format(safe.curr(v, true), L('lcl_valutasign') + safe.curr(org_v, true)); + else + v = "{0}".format(safe.curr(v, true)); } var deel_key = oRs("ins_deel_key").Value; var srtcont_key = oRs("ins_srtcontrole_key").Value; - if ((deel_key + ":" + srtcont_key) in doneclik ) - return safe.curr(v, true); + if ((jaar < mjb_freeze_year && (oRs(jaar + "_completed") == 1 || oRs(jaar + "_rejected") == 1 || oRs(jaar + "_freezed") == 1)) || // inspecties voor het freeze jaar (completed, rejected, freezed) niet sleepbaar, behalve ingeplande die nog niet zijn gedaan. + // Als in het freeze jaar of daarvoor een geaccordeerde/bevroren inspectie is dan moet volgende bedrag sleepbaar zijn. + // Er kan naast een geaccordeerde/bevroren(2) inspectie ook nog een ingeplande(0) inspectie als laatste melding zijn (2 lopende records, vandaar (status < 5)). + (jaar <= mjb_freeze_year && oRs(jaar + "_freezed").Value == 1 && oRs("ins_deelsrtcontrole_status").Value < 5) || + (oRs(jaar + "_completed").Value == 1) || + (deel_key + ":" + srtcont_key) in doneclik) + { + if (oRs("ins_deelsrtcontrole_status").Value == 2 && jaar == mjb_freeze_year) + doneclik[deel_key + ":" + srtcont_key] = 1; + return safe.curr(v, true); + } doneclik[deel_key + ":" + srtcont_key] = 1; + var scen_key = oRs("ins_scenario_key").Value; // INSUSE read rechten heb je al nodig om dit overzicht te zien. // Inspecties in de status gestart(2) of gereedgemeld(5) mogen niet drag en drop zijn. Planningsdatum is daarvan niet aan te passen. - return "{0}".format(safe.curr(v, true)) + return "{0}".format(safe.curr(v, true)); } } @@ -791,8 +810,18 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol } else { - if (jaar == mjb_freeze_year && oRs("ins_deelsrtcontrole_status").Value == 2) + var bedrag; + if (oRs(jaar).Value == null) + bedrag = -1; + else + bedrag = safe.curr(Math.round(oRs(jaar).Value), true); + // Alleen geaccordeerde taken in of eerder dan het freeze jaar kunnen geaccordeerd/bevroren zijn. + if (oRs(jaar + "_freezed").Value == 1 && bedrag > 0) freezeclass = " mjbfreezed"; + if (oRs(jaar + "_completed").Value == 1) + freezeclass += " mjbcompleted"; + if (oRs(jaar + "_rejected").Value == 1) + freezeclass += " mjbrejected"; } } return "mjbjaar" + freezeclass; @@ -958,6 +987,12 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol