SVRZ#57585 behandelteams in API2 ondersteunen

svn path=/Website/branches/v2019.1/; revision=42436
This commit is contained in:
2019-05-08 08:55:49 +00:00
parent ef77eaade4
commit a2bd18bed9

View File

@@ -45,6 +45,7 @@ function model_issues(mld_key, params)
"requestor" : { dbs: "prs_perslid_key_voor", typ: "key", foreign: "prs_perslid", label: L("lcl_mld_call_for"), track: true, filter: "exact" },
"issuedate" : { dbs: "mld_melding_datum", typ: "datetime", label: L("lcl_mld_date_time"), track: true, filter: "range" },
"enddate" : { dbs: "mld_melding_einddatum", typ: "datetime", label: L("lcl_mld_enddate"), track: true},
"treatmentteam":{dbs: "mld_ins_discipline_key", typ: "key", foreign: "mld_discipline", label: L("mld_processing_group"), track: true, filter: "exact" },
"issuetype" : { dbs: "mld_stdmelding_key", typ: "key", foreign: "mld_stdmelding", label: L("lcl_complain"), track: true, filter: "exact" },
"description": { dbs: "mld_melding_omschrijving", typ: "varchar", label: L("lcl_descr"), track: true, filter: "like" },
"remark" : { dbs: "mld_melding_opmerking", typ: "varchar", label: L("lcl_remark"), track: true},
@@ -312,6 +313,41 @@ function model_issues(mld_key, params)
function _validate_fields (dbfields, params, jsondata) /* valideer fields, alle constraints die niet door de database worden afgevangen */
{
// als einddatum ingevuld is moet deze groter/gelijk zijn aan de begindatum
// Zijn behandelteams toegestaan bij deze melding, en is de gekozen discipline een behandelteam?
if ("treatmentteam" in jsondata && jsondata.treatmentteam > 0)
{
var mld_key = jsondata.id;
var sql = " SELECT ''"
+ " FROM mld_melding m, mld_stdmelding stdm, mld_disc_params mdp"
+ " WHERE m.mld_melding_key = " + mld_key
+ " AND stdm.mld_stdmelding_key = m.mld_stdmelding_key"
+ " AND mdp.mld_ins_discipline_key = stdm.mld_ins_discipline_key"
+ " AND BITAND (mdp.mld_disc_params_srtgroep, 4) = 4";
var oRs = Oracle.Execute(sql);
if (oRs.eof)
{
delete jsondata.treatmentteam;
delete dbfields.treatmentteam;
}
oRs.Close();
var behandelTeam = jsondata.treatmentteam;
if (behandelTeam)
{
sql = " SELECT ''"
+ " FROM mld_disc_params"
+ " WHERE mld_ins_discipline_key = " + behandelTeam
+ " AND BITAND (mld_disc_params_srtgroep, 2) = 2"
oRs = Oracle.Execute(sql);
if (oRs.eof)
{
delete jsondata.treatmentteam;
delete dbfields.treatmentteam;
}
oRs.Close();
}
}
};
function _validate_close (params, jsondata, the_key) /* uit: mld_close_save.asp */
@@ -464,6 +500,8 @@ function model_issues(mld_key, params)
jsondata.issuedate = new Date();
if (!jsondata.priority)
jsondata.priority = 3;
if (!jsondata.treatmentteam)
jsondata.treatmentteam = stdm_info.default_ins_disc_key;
//
if (!jsondata.contact) jsondata.contact = user_key; // Als er geen aanvrager opgegeven is, dan de huidige gebruiker invullen.