FSN#37004 CTR (soortcontrole) als module en disciplines opgevoerd

svn path=/Website/trunk/; revision=29889
This commit is contained in:
Jos Groot Lipman
2016-06-29 11:35:38 +00:00
parent 4e1b6c2f6e
commit c62d7aac6b
5 changed files with 193 additions and 20 deletions

View File

@@ -0,0 +1,46 @@
<% /*
$Revision$
$Id$
File: model_ctr_disc_params.inc
Description: Model voor ctr_disc_params
Context:
Notes: *uitsluitend* gebruikt als include van model_ctr_discipline
*/
%>
<%
model_ctr_disc_params =
{
"table": "ctr_disc_params",
"primary": "ctr_disc_params_key",
"records_name": "ctr_disc_params",
"record_name": "ctr_disc_params",
"autfunction": "WEB_CTRMSU",
"fields": {
"id": {
"dbs": "ctr_disc_params_key",
"label": "Key",
"typ": "key",
"seq": "bes_s_ctr_disc_params_key"
},
"ctr_ins_discipline_key": {
"dbs": "ctr_ins_discipline_key",
"label": "Foreign key",
"typ": "key",
"hidden_fld": true
},
"inspection_type": {
"dbs": "ctr_disc_params_controle_type",
"label": buildSrtcontroletypeList(),
"typ": "check0"
}
}
}
api2.generic_REST(model_ctr_disc_params);
%>

View File

@@ -0,0 +1,79 @@
<% /*
$Revision$
$Id$
File: model_ctr_discipline.inc
Description: Model voor srtcontrole disciplines
Context:
Notes: intern hebben we een apart model voor ctr_disc_params
Naar de buitenwereld presenteren we het als <20><>n model
*/
%>
<!-- #include file="model_ctr_disc_params.inc" -->
<%
function model_ctr_discipline(disc_key, params)
{
// E<>n model voor de buitenwereld
var disc = new _model_ctr_discipline();
api2.merge_disc_params_model(this, disc);
this.REST_GET = generic_REST_GET(disc, // Let op: de originele _model
{ "GET": {
wheres: [ "ins_tab_discipline.ins_discipline_module = 'CTR'"
]
}
}
)
this.REST_POST = generic_REST_POST(disc);
this.REST_PUT = generic_REST_PUT(disc);
this.REST_DELETE = generic_REST_DELETE(this, {});
}
function _model_ctr_discipline()
{
this.table = "ins_tab_discipline";
this.primary = "ins_discipline_key";
this.records_name = "ins_tab_disciplines";
this.record_name = "ins_tab_discipline";
this.autfunction = "WEB_CTRMGT";
this.record_title = L("ctr_discipline");
this.records_title = L("ctr_discipline_m");
this.fields = {
"id": {
"dbs": "ins_discipline_key",
"label": "Key",
"typ": "key",
"required": true,
"filter": "exact",
"seq": "ins_s_ins_discipline_key"
},
"module": {
"dbs": "ins_discipline_module",
"label": L("ctr_discipline_module"),
"typ": "varchar",
"hidden_fld": true,
"defaultvalue": "CTR"
},
"name": {
"dbs": "ins_discipline_omschrijving",
"label": L("ctr_discipline_omschrijving"),
"typ": "varchar",
"translate": true,
"required": true
}
};
/* Velden van RES_DISC_PARAMS komen er dynamisch bij */
this.disc_params = {
model: model_ctr_disc_params,
joinfield: "ctr_ins_discipline_key"
};
this.soft_delete = "ins_discipline_verwijder";
this.autfunction = "WEB_CTRMGT";
}
%>

View File

@@ -165,6 +165,9 @@ checker("Controle xxx-disc_params",
{ k1: "cnt_ins_discipline_key", t1: "cnt_disc_params",
k2: "ins_discipline_key", t2: "cnt_discipline"
},
{ k1: "ctr_ins_discipline_key", t1: "ctr_disc_params",
k2: "ins_discipline_key", t2: "ctr_discipline"
},
{ k1: "ins_discipline_key", t1: "ins_disc_params",
k2: "ins_discipline_key", t2: "ins_discipline"
}

View File

@@ -691,26 +691,35 @@ function ins_list (pautfunction, params)
}
}
var sqlKenmerkBewerkbaar_select = ", CASE WHEN k.km900>0 THEN 1 ELSE 0 END bewerkbaar";
var sqlKenmerkBewerkbaar_from = "( SELECT sd.ins_srtdeel_key"
+ " , COUNT (km.ins_kenmerk_volgnummer) km900"
+ " FROM ins_srtkenmerk sk"
+ " , ins_kenmerk km"
+ " , ins_srtdeel sd"
+ " , ins_srtgroep gr"
+ " WHERE km.ins_srtkenmerk_key = sk.ins_srtkenmerk_key"
+ " AND gr.ins_srtgroep_key = sd.ins_srtgroep_key"
+ " AND km.ins_kenmerk_verwijder IS NULL"
+ " AND sk.ins_srtkenmerk_verwijder IS NULL"
+ " AND ( ( km.ins_srtinstallatie_key = sd.ins_srtdeel_key"
+ " AND km.ins_kenmerk_niveau = 'S')"
+ " OR ( km.ins_srtinstallatie_key = sd.ins_srtgroep_key"
+ " AND km.ins_kenmerk_niveau = 'G')"
+ " OR ( km.ins_srtinstallatie_key = gr.ins_discipline_key"
+ " AND km.ins_kenmerk_niveau = 'D'))"
+ " AND km.ins_kenmerk_volgnummer >= 900"
+ "GROUP BY sd.ins_srtdeel_key) k";
var sqlKenmerkBewerkbaar_where = " AND i.ins_srtdeel_key = k.ins_srtdeel_key(+)";
if (fronto)
{
var sqlKenmerkBewerkbaar_select = ", CASE WHEN k.km900>0 THEN 1 ELSE 0 END bewerkbaar";
var sqlKenmerkBewerkbaar_from = "( SELECT sd.ins_srtdeel_key"
+ " , COUNT (km.ins_kenmerk_volgnummer) km900"
+ " FROM ins_srtkenmerk sk"
+ " , ins_kenmerk km"
+ " , ins_srtdeel sd"
+ " , ins_srtgroep gr"
+ " WHERE km.ins_srtkenmerk_key = sk.ins_srtkenmerk_key"
+ " AND gr.ins_srtgroep_key = sd.ins_srtgroep_key"
+ " AND km.ins_kenmerk_verwijder IS NULL"
+ " AND sk.ins_srtkenmerk_verwijder IS NULL"
+ " AND ( ( km.ins_srtinstallatie_key = sd.ins_srtdeel_key"
+ " AND km.ins_kenmerk_niveau = 'S')"
+ " OR ( km.ins_srtinstallatie_key = sd.ins_srtgroep_key"
+ " AND km.ins_kenmerk_niveau = 'G')"
+ " OR ( km.ins_srtinstallatie_key = gr.ins_discipline_key"
+ " AND km.ins_kenmerk_niveau = 'D'))"
+ " AND km.ins_kenmerk_volgnummer >= 900"
+ "GROUP BY sd.ins_srtdeel_key) k";
var sqlKenmerkBewerkbaar_where = " AND i.ins_srtdeel_key = k.ins_srtdeel_key(+)";
}
else // Dan doen we er toch niets mee
{
sqlKenmerkBewerkbaar_select = ", 0 bewerkbaar";
sqlKenmerkBewerkbaar_from = "DUAL";
sqlKenmerkBewerkbaar_where = "";
}
// Dit betekent dus dat de feitelijke eigenaar dus als de normale eigenaar wordt beschouwd
// d.i. de lener == de eigenaar !

View File

@@ -0,0 +1,36 @@
<%@language = "javascript" %>
<% /*
$Revision$
$Id$
File: ctr_discipline.asp
Description: fac_management aanroep van model_ctr_discipline
Context:
Notes:
*/
%>
<!-- #include file="../scf/scaffolding.inc" -->
<!-- #include file="../mgt/mgt_tools.inc" -->
<!-- #include file="../api2/model_ctr_discipline.inc" -->
<%
var this_model = new model_ctr_discipline();
scaffolding(this_model,
{
"search": {
"autosearch": true
},
"list": {
"columns": [
"id",
"name"
]
},
"edit": {
"modal": true
}
});
%>