UWVA#33522 Beheer inspecties verbeteringen

svn path=/Website/trunk/; revision=26188
This commit is contained in:
Erik Groener
2015-09-03 06:56:04 +00:00
parent ab04276e09
commit b38aa9e6bb
6 changed files with 661 additions and 0 deletions

View File

@@ -0,0 +1,241 @@
<% /*
$Revision$
$Id$
File: model_ins_kenmerk.inc
Description: Vanuit CodeCharge gegenereerd model voor ins_kenmerk
Context: Met parameter 'niveau' worden alleen de inspectiekenmerken getoond.
Zonder, alle niet-inspectie kenmerken.
Notes:
*/
%>
<%
function model_ins_kenmerk(fnparams)
{
this.gparams = {fn: fnparams || {} };
this.table = "ins_kenmerk";
this.primary = "ins_kenmerk_key";
this.records_name = "ins_kenmerks";
this.record_name = "ins_kenmerk";
this.fields = {
"id": {
"dbs": "ins_kenmerk_key",
"label": "Key",
"typ": "key",
"required": true,
"filter": "exact",
"seq": "ins_s_ins_kenmerk_key",
"readonly": true
},
"ins_srtkenmerk_key": {
"dbs": "ins_srtkenmerk_key",
"label": L("ins_srtkenmerk_key"),
"typ": "key",
"required": true,
"foreign": {
"tbl": "ins_srtkenmerk",
"key": "ins_srtkenmerk_key",
"where": "ins_srtkenmerk_verwijder is null",
"desc": "ins_srtkenmerk_omschrijving"
},
"filter": "exact"
},
"ins_discipline_key": {
"dbs": "ins_v_allsrtinstallatie.ins_discipline_key",
"label": L("ins_srtinstallatie_discipline"),
"typ": "key",
"insertonly": true,
"foreign": { "tbl": "ins_discipline",
"key": "ins_discipline_key",
"desc": "ins_discipline_omschrijving"
}
},
"ins_srtgroep_key": {
"dbs": "ins_v_allsrtinstallatie.ins_srtgroep_key",
"label": L("ins_srtinstallatie_srtgroep"),
"typ": "key",
"insertonly": true,
"foreign": { "tbl": "ins_srtgroep",
"key": "ins_srtgroep_key",
"desc": "ins_srtgroep_omschrijving"
}
},
"ins_srtdeel_key": {
"dbs": "ins_v_allsrtinstallatie.ins_srtdeel_key",
"label": L("ins_srtinstallatie_srtdeel"),
"typ": "key",
"insertonly": true,
"foreign": { "tbl": "ins_srtdeel",
"key": "ins_srtdeel_key",
"desc": "ins_srtdeel_omschrijving"
}
},
"ref_srtinstallatie_key": {
"dbs": "ins_srtinstallatie_key",
"label": "ins_srtinstallatie_key",
"typ": "key",
"foreign": {"tbl": "ins_srtcontrole",
"key": "ins_srtcontrole_key",
"desc": "ins_srtcontrole_omschrijving"
},
"filter": "exact"
},
"ins_kenmerk_niveau": {
"dbs": "ins_kenmerk_niveau",
"label": L("ins_kenmerk_niveau"),
"typ": "varchar",
"hidden_fld": true,
"LOV": L("ins_kenmerk_niveauLOV"),
"defaultvalue": "C"
},
"ins_kenmerk_bewerkniveau": {
"dbs": "ins_kenmerk_bewerkniveau",
"label": L("ins_kenmerk_bewerkniveau"),
"typ": "key",
"required": true,
"insertonly": true,
"defaultvalue": "D",
"LOV": L("ins_kenmerk_bewerkniveauLOV")
},
"sequence": {
"dbs": "ins_kenmerk_volgnummer",
"label": L("ins_kenmerk_volgnummer"),
"typ": "number",
"required": true
},
"ins_kenmerk_verplicht": {
"dbs": "ins_kenmerk_verplicht",
"label": L("ins_kenmerk_verplicht"),
"typ": "key",
"LOV": ""
},
"ins_kenmerk_groep": {
"dbs": "ins_kenmerk_groep",
"label": L("ins_kenmerk_groep"),
"typ": "key",
"required": true,
"LOV": ""
},
"ins_kenmerk_toonbaar": {
"dbs": "ins_kenmerk_toonbaar",
"label": L("ins_kenmerk_toonbaar"),
"typ": "check"
},
"ins_kenmerk_meetwaarde": {
"dbs": "ins_kenmerk_meetwaarde",
"label": L("ins_kenmerk_meetwaarde"),
"typ": "check"
},
"ins_kenmerk_locatiekolom": {
"dbs": "ins_kenmerk_locatiekolom",
"label": L("ins_kenmerk_locatiekolom"),
"typ": "varchar"
},
"ins_kenmerk_default": {
"dbs": "ins_kenmerk_default",
"label": L("ins_kenmerk_default"),
"typ": "memo",
"translate": true
},
"ins_kenmerk_hint": {
"dbs": "ins_kenmerk_hint",
"label": L("ins_kenmerk_hint"),
"typ": "memo",
"translate": true
},
"ins_kenmerk_regexp": {
"dbs": "ins_kenmerk_regexp",
"label": L("ins_kenmerk_regexp"),
"typ": "varchar"
}
};
this.list = {
"columns": ["id",
"ins_kenmerk_niveau",
"ins_srtkenmerk_key",
"sequence"
]
};
this.search = {
"autosearch": true,
"filters": ["ins_kenmerk_niveau",
"ins_discipline_key",
"ins_srtgroep_key",
"ins_srtdeel_key",
"ins_srtkenmerk_key"
]
};
this.soft_delete = "ins_kenmerk_verwijder";
this.autfunction = "WEB_INSMGT";
this.record_title = L("ins_kenmerk");
this.records_title = L("ins_kenmerk_m");
this.edit = { modal: true};
this.REST_GET = generic_REST_GET(this, this.gparams);
this.REST_POST = generic_REST_POST(this);
this.REST_PUT = generic_REST_PUT(this);
this.REST_DELETE = generic_REST_DELETE(this, {});
// Server side code!
//
// Afhankelijk van niveau:
var niveau = this.gparams.fn.niveau;
if (niveau == "C")
{
delete this.fields.ins_discipline_key;
delete this.fields.ins_srtgroep_key;
delete this.fields.ins_srtdeel_key;
delete this.fields.ins_kenmerk_bewerkniveau;
delete this.fields.ins_kenmerk_meetwaarde;
this.fields.ref_srtinstallatie_key.label = L("ins_srtcontrole");
this.record_title = L("ins_srtcontrole_kenmerk");
this.gparams.GET = {wheres: [ "ins_kenmerk.ins_kenmerk_niveau = " + safe.quoted_sql(niveau)
]
};
}
else
{ //kenmerk_niveau: D | G | S
delete this.fields.ref_srtinstallatie_key;
// Toevoegen extra kolommen voor niet-inspectie kenmerken.
// NB: Standaard in this.list opnemen en bij niveau=C verwijderen geeft fout op niet bestaande ins_discipline_key etc.
this.list.columns.splice(2, 0, "ins_srtdeel_key");
this.list.columns.splice(2, 0, "ins_srtgroep_key");
this.list.columns.splice(2, 0, "ins_discipline_key");
//
this.record_title = L("ins_srtcontrole_kenmerk");
this.gparams.GET = {tables: ["ins_v_allsrtinstallatie"],
wheres: [ "ins_kenmerk.ins_kenmerk_niveau <> 'C'",
"ins_kenmerk.ins_srtinstallatie_key = ins_v_allsrtinstallatie.ins_srtinstallatie_key",
"ins_kenmerk.ins_kenmerk_niveau = ins_v_allsrtinstallatie.niveau"
]
};
}
// Listbox verplicht vullen. Veld is niet required, maar heeft wel een emptyoption.
this.fields.ins_kenmerk_verplicht.LOV = "1;" + L("lcl_mld_altijd_verplicht")
+ ";2;" + L("lcl_mld_groepsverplichting");
this.fields.ins_kenmerk_verplicht.emptyoption = L("lcl_mld_niet_verplicht");
// Listbox groepsverplichting vullen.
var groep_array = ["0", "<"+L("lcl_none")+">"];
for (i=1; i<=9; i++)
{
groep_array.push(i)
groep_array.push(L("ins_kenmerk_groep")+" "+i);
}
this.fields.ins_kenmerk_groep.LOV = groep_array.join(";");
}
%>

View File

@@ -0,0 +1,194 @@
<% /*
$Revision$
$Id$
File: model_ins_srtcontrole.inc
Description: Vanuit CodeCharge gegenereerd model voor ins_srtcontrole
Context:
Notes:
*/
%>
<!-- #include file="./model_ins_kenmerk.inc"-->
<%
function model_ins_srtcontrole(fnparams)
{
this.gparams = {fn: fnparams || {} };
this.table = "ins_srtcontrole";
this.primary = "ins_srtcontrole_key";
this.records_name = "ins_srtcontroles";
this.record_name = "ins_srtcontrole";
this.fields = {
"id": {
"dbs": "ins_srtcontrole_key",
"label": "Key",
"typ": "key",
"required": true,
"filter": "exact",
"seq": "ins_s_ins_srtcontrole_key"
},
"ins_srtcontrole_niveau": {
"dbs": "ins_srtcontrole_niveau",
"label": L("ins_srtcontrole_niveau"),
"typ": "varchar",
"hidden_fld": true,
"LOV": L("ins_srtcontrole_niveauLOV")
},
"ins_srtinstallatie_key": {
"dbs": "ins_srtinstallatie_key",
"label": "ins_srtinstallatie_key",
"typ": "key",
"hidden_fld": true
},
"ins_discipline_key": {
"dbs": "ins_v_allsrtinstallatie.ins_discipline_key",
"label": L("ins_srtinstallatie_discipline"),
"typ": "key",
"foreign": { "tbl": "ins_discipline",
"key": "ins_discipline_key",
"desc": "ins_discipline_omschrijving"
}
},
"ins_srtgroep_key": {
"dbs": "ins_v_allsrtinstallatie.ins_srtgroep_key",
"label": L("ins_srtinstallatie_srtgroep"),
"typ": "key",
"foreign": { "tbl": "ins_srtgroep",
"key": "ins_srtgroep_key",
"desc": "ins_srtgroep_omschrijving"
}
},
"ins_srtdeel_key": {
"dbs": "ins_v_allsrtinstallatie.ins_srtdeel_key",
"label": L("ins_srtinstallatie_srtdeel"),
"typ": "key",
"foreign": { "tbl": "ins_srtdeel",
"key": "ins_srtdeel_key",
"desc": "ins_srtdeel_omschrijving"
}
},
"name": {
"dbs": "ins_srtcontrole_omschrijving",
"label": L("ins_srtcontrole_omschrijving"),
"typ": "varchar",
"translate": true
},
"ins_srtcontrole_info": {
"dbs": "ins_srtcontrole_info",
"label": L("ins_srtcontrole_info"),
"typ": "memo",
"translate": true
},
"ins_srtcontrole_type": {
"dbs": "ins_srtcontrole_type",
"label": L("ins_srtcontrole_type"),
"typ": "key",
"LOV": L("ins_srtcontrole_typeLOV")
},
"ins_srtcontrole_mode": {
"dbs": "ins_srtcontrole_mode",
"label": L("ins_srtcontrole_mode"),
"typ": "key",
"required": true,
"LOV": L("ins_srtcontrole_modeLOV")
},
"ins_srtcontrole_periode": {
"dbs": "ins_srtcontrole_periode",
"label": L("ins_srtcontrole_periode"),
"typ": "float"
},
"ins_srtcontrole_eenheid": {
"dbs": "ins_srtcontrole_eenheid",
"label": L("ins_srtcontrole_eenheid"),
"typ": "key",
"LOV": L("ins_srtcontrole_eenheidLOV")
},
"ins_srtcontrole_bits": {
"dbs": "ins_srtcontrole_bits",
"label": L("ins_srtcontrole_bits"),
"typ": "number",
"hidden_fld": true
},
"_moment": {
"dbs": "",
"label": L("ins_srtcontrole_moment"),
"typ": "button",
"defaultvalue": L("lcl_select")
},
"ins_srtcontrole_eind": {
"dbs": "ins_srtcontrole_eind",
"label": L("ins_srtcontrole_eind"),
"typ": "date"
},
"ins_srtcontrole_groep": {
"dbs": "ins_srtcontrole_groep",
"label": L("ins_srtcontrole_groep"),
"typ": "varchar"
},
"ins_srtcontrole_kosten": {
"dbs": "ins_srtcontrole_kosten",
"label": L("ins_srtcontrole_kosten"),
"typ": "float"
},
"ins_srtcontrole_opmerking": {
"dbs": "ins_srtcontrole_opmerking",
"label": L("ins_srtcontrole_opmerking"),
"typ": "memo"
}
};
this.list = {
"columns": ["id",
"ins_srtcontrole_niveau",
"ins_discipline_key",
"ins_srtgroep_key",
"ins_srtdeel_key",
"name",
"ins_srtcontrole_periode",
"ins_srtcontrole_eenheid"
]
};
this.search = {
"autosearch": true,
"filters": ["ins_srtcontrole_niveau",
"ins_discipline_key",
"ins_srtgroep_key",
"ins_srtdeel_key"
]
};
this.includes = {
"kenmerken": {
"model": new model_ins_kenmerk( {niveau:"C"} ),
"joinfield": "ref_srtinstallatie_key",
"enable_update": true
}
};
this.autfunction = "WEB_INSMGT";
this.record_title = L("ins_srtcontrole");
this.records_title = L("ins_srtcontrole_m");
this.edit = {};
this.REST_GET = generic_REST_GET(this, this.gparams);
this.REST_POST = generic_REST_POST(this);
this.REST_PUT = generic_REST_PUT(this);
this.REST_DELETE = generic_REST_DELETE(this, {});
this.hook_pre_edit = function (obj, fld)
{}
this.gparams.GET = { tables: ["ins_v_allsrtinstallatie"],
wheres: ["ins_srtcontrole.ins_srtinstallatie_key = ins_v_allsrtinstallatie.ins_srtinstallatie_key",
"ins_srtcontrole.ins_srtcontrole_niveau = ins_v_allsrtinstallatie.niveau"
]
};
}
%>

19
APPL/MGT/ins_kenmerk.asp Normal file
View File

@@ -0,0 +1,19 @@
<%@language = "javascript" %>
<!-- #include file="../scf/scaffolding.inc" -->
<!-- #include file="../api2/model_ins_kenmerk.inc" -->
<%
var kenmerk_params = {};
kenmerk_params.niveau = getQParamArray("inspectie", []);
scaffolding(new model_ins_kenmerk(kenmerk_params),
{
"search": {
autosearch: true,
requires: { js: ["../mgt/ins_kenmerk.js"]}
},
"edit": { requires: { js: ["../mgt/ins_kenmerk.js"]}
}
});
%>

65
APPL/MGT/ins_kenmerk.js Normal file
View File

@@ -0,0 +1,65 @@
$(document).ready(function () {
setTimeout("init()", 100);
});
function init()
{
$("#ins_discipline_key").change(function() {change_ins_discipline_key(); });
$("#ins_srtgroep_key").change(function() {change_ins_srtgroep_key(); });
change_ins_discipline_key(); // Initialisatie listboxen bij search.
}
function change_ins_discipline_key()
{
process_info({niveau:"G",lov:[]});
process_info({niveau:"S",lov:[]});
var discipline_key = $("#ins_discipline_key").val();
if (discipline_key > 0)
{
$.getJSON("../ins/get_ins_info_ajax.asp",
{ req_info: "ins_srtinstallatie",
niveau: "G",
install_key: discipline_key
},
process_info);
}
}
function change_ins_srtgroep_key()
{
process_info({niveau:"S",lov:[]});
var srtgroep_key = $("#ins_srtgroep_key").val();
if (srtgroep_key > 0)
{
$.getJSON("../ins/get_ins_info_ajax.asp",
{ req_info: "ins_srtinstallatie",
niveau: "S",
install_key: srtgroep_key
},
process_info);
}
}
function process_info(data)
{
var select = (data.niveau=="G" ? $("#ins_srtgroep_key") : $("#ins_srtdeel_key"));
var new_lov = '<option value="-1" ></option>';
if (data.lov.length > 0)
{
for (i=0; i<data.lov.length;i++)
{
var opt = data.lov[i];
new_lov += '<option value="' + opt.key + '" >'+ opt.oms + '</option>';
}
select.prop("disabled", false);
}
else
{
select.prop("disabled", true);
}
select.empty().append(new_lov);
}

View File

@@ -0,0 +1,17 @@
<%@language = "javascript" %>
<!-- #include file="../scf/scaffolding.inc" -->
<!-- #include file="../api2/model_ins_srtcontrole.inc" -->
<%
scaffolding(new model_ins_srtcontrole(),
{
"search": {
autosearch: true,
requires: { js: ["../mgt/ins_srtcontrole.js"]}
},
"edit": { requires: { js: ["../mgt/ins_srtcontrole.js"]}
}
}
);
%>

125
APPL/MGT/ins_srtcontrole.js Normal file
View File

@@ -0,0 +1,125 @@
var changed_bits = 0;
var changed_mode = 0;
$(document).ready(function () {
setTimeout("init()", 100);
});
function init()
{
$("#ins_discipline_key").change(function() {change_ins_discipline_key(); });
$("#ins_srtgroep_key").change(function() {change_ins_srtgroep_key(); });
$("#ins_srtcontrole_mode").change(function() {change_ins_srtcontrole_mode(); });
$("#ins_srtcontrole_eenheid").change(function() {change_ins_srtcontrole_eenheid(); });
$("#_moment").click(function() {SelectBits(); });
change_ins_discipline_key(); // Initialisatie listboxen bij search.
var controlemode = $("#ins_srtcontrole_mode").val();
if (!controlemode || controlemode == 1)
{
$("#_moment").parent().parent().hide();
}
}
function change_ins_discipline_key()
{
process_info({niveau:"G",lov:[]});
process_info({niveau:"S",lov:[]});
var discipline_key = $("#ins_discipline_key").val();
if (discipline_key > 0)
{
$.getJSON("../ins/get_ins_info_ajax.asp",
{ req_info: "ins_srtinstallatie",
niveau: "G",
install_key: discipline_key
},
process_info);
}
}
function change_ins_srtgroep_key()
{
process_info({niveau:"S",lov:[]});
var srtgroep_key = $("#ins_srtgroep_key").val();
if (srtgroep_key > 0)
{
$.getJSON("../ins/get_ins_info_ajax.asp",
{ req_info: "ins_srtinstallatie",
niveau: "S",
install_key: srtgroep_key
},
process_info);
}
}
function process_info(data)
{
var select = (data.niveau=="G" ? $("#ins_srtgroep_key") : $("#ins_srtdeel_key"));
var new_lov = '<option value="-1" ></option>';
if (data.lov.length > 0)
{
for (i=0; i<data.lov.length;i++)
{
var opt = data.lov[i];
new_lov += '<option value="' + opt.key + '" >'+ opt.oms + '</option>';
}
select.prop("disabled", false);
}
else
{
select.prop("disabled", true);
}
select.empty().append(new_lov);
}
function change_ins_srtcontrole_mode()
{
$("#_moment").parent().parent().toggle();
changed_mode = 1;
}
function change_ins_srtcontrole_eenheid()
{
changed_mode = 1;
}
function SelectBits()
{
var proturl = "../ins/ins_bitsform.asp"
+ "?eenheid=" + $("#ins_srtcontrole_eenheid").val()
+ "&bits=" + $("#ins_srtcontrole_bits").val();
parent.FcltMgr.openModalDetail(proturl, "Select moment",
{ callback: function (data)
{ if (data.eenheid >= 0)
{
$("#ins_srtcontrole_bits").val(data.bits);
changed_bits = 1;
}
}
} );
}
function pre_submit()
{
var ch_mode = (changed_mode == 1);
var ch_bits = (changed_bits == 1);
var controlemode = $("#ins_srtcontrole_mode").val();
if (!controlemode || controlemode == 0)
{
if (ch_mode && !ch_bits)
{
alert(L("ins_srtcontrole_select"));
return false;
}
}
else // is_interval
{
$("#ins_srtcontrole_bits").val(null);
}
return true;
}